!function(e){
	if(!e.WebVideoCtrl){
		var t=function(){
function t(){
	this.id=this.createUUID()
}
var n="100%",r="100%",o="",i="",a={
	szContainerID:"",szColorProperty:"",szOcxClassId:"clsid:E7EF736D-B4E6-4A5A-BA94-732D71107808",szMimeTypes:"application/hwp-webvideo-plugin",iWndowType:1,iPlayMode:2,bDebugMode:!1,cbSelWnd:null,cbEvent:null
}
,c=null,u=0,l=[],p=[],d=null,P=null,h=null,I=null,f=this,m=null,C=1,S=2,y=200,g=0,v=1,x=2,T=3,z=4,D=5,A=6,b=0,M=2,q=3,L=21,R=0,G="IPCamera",X="IPDome",H="IPZoom",w="<?xml version='1.0' encoding='utf-8'?><FileVersion><Platform name='win32'><npWebVideoPlugin.dll>3,0,5,56</npWebVideoPlugin.dll><WebVideoActiveX.ocx>3,0,5,56</WebVideoActiveX.ocx><PlayCtrl.dll>6,5,2,40</PlayCtrl.dll><StreamTransClient.dll>1,1,2,11</StreamTransClient.dll><SystemTransform.dll>2,3,0,10</SystemTransform.dll><NetStream.dll>1,0,5,57</NetStream.dll><HCNetSDK.dll>4,2,6,7</HCNetSDK.dll><ShowRemConfig.dll>3,1,2,14</ShowRemConfig.dll></Platform></FileVersion>";
e.GetSelectWndInfo=function(e){
	var t=I.loadXML(e);
	u=parseInt(s.$XML(t).find("SelectWnd").eq(0).text(),10);
	var n=[];
	n.push("<RealPlayInfo>"),n.push("<SelectWnd>"+u+"</SelectWnd>"),n.push("</RealPlayInfo>"),a.cbSelWnd&&a.cbSelWnd(I.loadXML(n.join("")))
}
,e.ZoomInfoCallback=function(e){
	var t=f.findWndIndexByIndex(u);
	if(-1!=t){
		var s=p[t];
		if(t=f.findDeviceIndexByIP(s.szIP),-1!=t){
			var n=l[t];
			n.oProtocolInc.set3DZoom(n,s,e,{
				success:function(){
				}
				,error:function(){
				}
			}
			)
		}
	}
}
,e.PluginEventHandler=function(e,t,s){
	Z("插件事件：PluginEventHandler iEventType：%s iParam1: %s, iParam2: %s",e,t,s),b==e||M==e?f.I_Stop(t):L==e?f.I_StopRecord(t):q==e&&f.I_StopVoiceTalk(),a.cbEvent&&a.cbEvent(e,t,s)
}
,e.GetHttpInfo=function(e,t){
	Z("http响应返回：http状态：%s, http数据：%s",e,t),et.prototype.processCallback(e,t)
};
var Z=function(){
	if(a.bDebugMode){
		var e=k(arguments);
		d._alert(e)
	}
}
,k=function(){
	for(var e=arguments[0],t=1;t<arguments.length;t++)e=e.replace("%s",arguments[t]);
	return e
}
,W=function(e){
	return"undefined"==typeof e
}
,_=function(){
	var e="";
	if(I.browser().msie)e="<object classid='"+a.szOcxClassId+"' codebase='' standby='Waiting...' id='"+o+"' width='"+n+"' height='"+r+"' align='center' ><param name='wndtype' value='"+a.iWndowType+"'><param name='playmode' value='"+a.iPlayMode+"'><param name='colors' value='"+a.szColorProperty+"'></object>";
	else for(var t=navigator.mimeTypes.length,s=0;t>s;s++)navigator.mimeTypes[s].type.toLowerCase()==a.szMimeTypes&&(e="<embed align='center' type='"+a.szMimeTypes+"' width='"+n+"' height='"+r+"' name='"+i+"' wndtype='"+a.iWndowType+"' playmode='"+a.iPlayMode+"' colors='"+a.szColorProperty+"'>");
	return e
}
,E=function(){
	var e=c.HWP_GetLocalConfig();
	m=I.loadXML(e)
}
,N=function(e){
	f.I_GetDeviceInfo(e.szIP,{
		success:function(t){
			e.szDeviceType=s.$XML(t).find("deviceType").eq(0).text()
		}
	}
	),f.I_GetAnalogChannelInfo(e.szIP,{
		success:function(t){
			e.iAnalogChannelNum=s.$XML(t).find("VideoInputChannel",!0).length
		}
	}
	),f.I_GetAudioInfo(e.szIP,{
		success:function(t){
			var n=s.$XML(t).find("audioCompressionType",!0);
			if(n.length>0){
				var r=s.$XML(n).eq(0).text(),o=0;
				"G.711ulaw"==r?o=1:"G.711alaw"==r?o=2:"G.726"==r&&(o=3),e.iAudioType=o
			}
		}
	}
	)
}
,B=function(e){
	var t=-1,s=-1,n=-1,r=null;
	if(O(e))r=F(e),t=r.iRtspPort,n=r.iDevicePort;
	else{
		for(var o=V(e),i=!1,a=0;a<o.length;a++)if(o[a].ipv4==e.szIP||o[a].ipv6==e.szIP){
			i=!0;
			break
		}
		i?r=F(e):(r=U(e),-1==t&&-1==n&&(r=F(e))),t=r.iRtspPort,s=r.iHttpPort,n=r.iDevicePort
	}
	return r
}
,F=function(e){
	var t=-1,n=-1,r=-1;
	return e.oProtocolInc.getPortInfo(e,{
		async:!1,success:function(e){
			for(var o=s.$XML(e).find("AdminAccessProtocol",!0),i=0,a=o.length;a>i;i++)"rtsp"===s.$XML(o).eq(i).find("protocol").eq(0).text().toLowerCase()&&(t=parseInt(s.$XML(o).eq(i).find("portNo").eq(0).text(),10)),"http"===s.$XML(o).eq(i).find("protocol").eq(0).text().toLowerCase()&&(n=parseInt(s.$XML(o).eq(i).find("portNo").eq(0).text(),10)),"dev_manage"===s.$XML(o).eq(i).find("protocol").eq(0).text().toLowerCase()&&(r=parseInt(s.$XML(o).eq(i).find("portNo").eq(0).text(),10))
		}
		,error:function(){
			t=-1,n=-1,r=-1
		}
	}
	),{
		iRtspPort:t,iHttpPort:n,iDevicePort:r
	}
}
,U=function(e){
	var t=-1,n=-1,r=-1;
	return e.oProtocolInc.getUPnPPortStatus(e,{
		async:!1,success:function(e){
			for(var o=s.$XML(e).find("portStatus",!0),i=0,a=o.length;a>i;i++)"rtsp"==s.$XML(o).eq(i).find("internalPort").eq(0).text().toLowerCase()&&(t=parseInt(s.$XML(o).eq(i).find("externalPort").eq(0).text(),10)),"http"==s.$XML(o).eq(i).find("internalPort").eq(0).text().toLowerCase()&&(n=parseInt(s.$XML(o).eq(i).find("externalPort").eq(0).text(),10)),"admin"==s.$XML(o).eq(i).find("internalPort").eq(0).text().toLowerCase()&&(r=parseInt(s.$XML(o).eq(i).find("externalPort").eq(0).text(),10))
		}
		,error:function(){
			t=-1,n=-1,r=-1
		}
	}
	),{
		iRtspPort:t,iHttpPort:n,iDevicePort:r
	}
}
,V=function(e){
	var t=[];
	return e.oProtocolInc.getNetworkBond(e,{
		async:!1,success:function(n){
			"true"==s.$XML(n).find("enabled").eq(0).text()?t.push({
				ipv4:s.$XML(n).find("ipAddress").eq(0).text(),ipv6:s.$XML(n).find("ipv6Address").eq(0).text()
			}
			):e.oProtocolInc.getNetworkInterface(e,{
				async:!1,success:function(e){
					for(var n=s.$XML(e).find("NetworkInterface",!0),r=0,o=n.length;o>r;r++){
						t.push({
							ipv4:s.$XML(e).find("ipAddress").eq(0).text(),ipv6:s.$XML(e).find("ipv6Address").eq(0).text()
						}
						);
						break
					}
				}
				,error:function(){
				}
			}
			)
		}
		,error:function(){
			e.oProtocolInc.getNetworkInterface(e,{
				success:function(e){
					for(var n=s.$XML(e).find("NetworkInterface",!0),r=0,o=n.length;o>r;r++){
						t.push({
							ipv4:s.$XML(e).find("ipAddress").eq(0).text(),ipv6:s.$XML(e).find("ipv6Address").eq(0).text()
						}
						);
						break
					}
				}
				,error:function(){
				}
			}
			)
		}
	}
	),t
}
,O=function(e){
	var t=!1;
	return e.oProtocolInc.getPPPoEStatus(e,{
		async:!1,success:function(e){
			t=s.$XML(e).find("ipAddress",!0).length>0?!0:s.$XML(e).find("ipv6Address",!0).length>0?!0:!1
		}
		,error:function(){
			t=!1
		}
	}
	),t
}
,j=function(e){
	e.oStreamCapa.bObtained||e.oProtocolInc instanceof tt&&(G==e.szDeviceType||X==e.szDeviceType||H==e.szDeviceType?e.oProtocolInc.getStreamChannels(e,{
		async:!1,success:function(t){
			e.oStreamCapa.bObtained=!0;
			for(var s=$(t).find("streamingTransport",!0).length,n=0;s>n;n++)if("shttp"==$(t).find("streamingTransport").eq(n).text().toLowerCase()){
				e.oStreamCapa.bObtained=!0,e.oStreamCapa.bSupportShttpPlay=!0,e.oStreamCapa.bSupportShttpPlayback=!0,e.oStreamCapa.bSupportShttpsPlay=!0,e.oStreamCapa.bSupportShttpsPlayback=!0,e.oStreamCapa.iIpChanBase=1;
				break
			}
		}
		,error:function(){
		}
	}
	):e.oProtocolInc.getSDKCapa(e,{
		async:!1,success:function(t){
			e.oStreamCapa.bObtained=!0,e.oStreamCapa.bSupportShttpPlay="true"===s.$XML(t).find("isSupportHttpPlay").eq(0).text(),e.oStreamCapa.bSupportShttpPlayback="true"===s.$XML(t).find("isSupportHttpPlayback").eq(0).text(),e.oStreamCapa.bSupportShttpsPlay="true"===s.$XML(t).find("isSupportHttpsPlay").eq(0).text(),e.oStreamCapa.bSupportShttpsPlayback="true"===s.$XML(t).find("isSupportHttpsPlayback").eq(0).text(),e.oStreamCapa.bSupportShttpPlaybackTransCode="true"===s.$XML(t).find("isSupportHttpTransCodePlayback").eq(0).text(),e.oStreamCapa.bSupportShttpsPlaybackTransCode="true"===s.$XML(t).find("isSupportHttpsTransCodePlayback").eq(0).text(),s.$XML(t).find("ipChanBase",!0).length>0&&(e.oStreamCapa.iIpChanBase=parseInt(s.$XML(t).find("ipChanBase").eq(0).text(),10))
		}
		,error:function(){
			e.oStreamCapa.bObtained=!0
		}
	}
	))
}
,K=function(e){
	var t={
		TransFrameRate:"",TransResolution:"",TransBitrate:""
	};
	if(I.extend(t,e),""==t.TransFrameRate||""==t.TransResolution||""==t.TransBitrate)return"";
	var s=[];
	return s.push("<?xml version='1.0' encoding='UTF-8'?>"),s.push("<CompressionInfo>"),s.push("<TransFrameRate>"+t.TransFrameRate+"</TransFrameRate>"),s.push("<TransResolution>"+t.TransResolution+"</TransResolution>"),s.push("<TransBitrate>"+t.TransBitrate+"</TransBitrate>"),s.push("</CompressionInfo>"),s.join("")
};
this.I_InitPlugin=function(e,t,s){
	n=e,r=t,I.extend(a,s)
}

            this.I_changesize=function(e,t){
                n=e,r=t
            }


,this.I_InsertOBJECTPlugin=function(t){
	return W(t)||(a.szContainerID=t),null==document.getElementById(a.szContainerID)?-1:false?-1:(document.getElementById(a.szContainerID).innerHTML=_(),c=I.browser().msie?document.getElementById(o):document.getElementsByName(i)[0],null==c&&null==c.object?-1:("object"==typeof e.attachEvent&&I.browser().msie&&(c.attachEvent("GetSelectWndInfo",GetSelectWndInfo),c.attachEvent("ZoomInfoCallback",ZoomInfoCallback),c.attachEvent("GetHttpInfo",GetHttpInfo),c.attachEvent("PluginEventHandler",PluginEventHandler)),E(),0))
}
,this.I_WriteOBJECT_XHTML=function(){
	return document.writeln(_()),c=I.browser().msie?document.getElementById(o):document.getElementsByName(i)[0],null==c&&null==c.object?-1:(I.browser().msie&&(c.attachEvent("GetSelectWndInfo",GetSelectWndInfo),c.attachEvent("ZoomInfoCallback",ZoomInfoCallback),c.attachEvent("GetHttpInfo",GetHttpInfo),c.attachEvent("PluginEventHandler",PluginEventHandler)),E(),0)
}
,this.I_OpenFileDlg=function(e){
	var t=c.HWP_OpenFileBrowser(e,"");
	if(null==t)return"";
	if(1==e){
		if(t.length>100)return-1
	}
	else if(t.length>130)return-1;
	return t
}
,this.I_GetLocalCfg=function(){
	var e=c.HWP_GetLocalConfig(),t=[];
	return m=I.loadXML(e),t.push("<LocalConfigInfo>"),t.push("<ProtocolType>"+s.$XML(m).find("ProtocolType").eq(0).text()+"</ProtocolType>"),t.push("<PackgeSize>"+s.$XML(m).find("PackgeSize").eq(0).text()+"</PackgeSize>"),t.push("<PlayWndType>"+s.$XML(m).find("PlayWndType").eq(0).text()+"</PlayWndType>"),t.push("<BuffNumberType>"+s.$XML(m).find("BuffNumberType").eq(0).text()+"</BuffNumberType>"),t.push("<RecordPath>"+s.$XML(m).find("RecordPath").eq(0).text()+"</RecordPath>"),t.push("<CapturePath>"+s.$XML(m).find("CapturePath").eq(0).text()+"</CapturePath>"),t.push("<PlaybackFilePath>"+s.$XML(m).find("PlaybackFilePath").eq(0).text()+"</PlaybackFilePath>"),t.push("<PlaybackPicPath>"+s.$XML(m).find("PlaybackPicPath").eq(0).text()+"</PlaybackPicPath>"),t.push("<DownloadPath>"+s.$XML(m).find("DownloadPath").eq(0).text()+"</DownloadPath>"),t.push("<IVSMode>"+s.$XML(m).find("IVSMode").eq(0).text()+"</IVSMode>"),t.push("<CaptureFileFormat>"+s.$XML(m).find("CaptureFileFormat").eq(0).text()+"</CaptureFileFormat>"),t.push("</LocalConfigInfo>"),I.loadXML(t.join(""))
}
,this.I_SetLocalCfg=function(e){
	var t=I.loadXML(e),n=-1;
	return s.$XML(m).find("ProtocolType").eq(0).text(s.$XML(t).find("ProtocolType").eq(0).text()),s.$XML(m).find("PackgeSize").eq(0).text(s.$XML(t).find("PackgeSize").eq(0).text()),s.$XML(m).find("PlayWndType").eq(0).text(s.$XML(t).find("PlayWndType").eq(0).text()),s.$XML(m).find("BuffNumberType").eq(0).text(s.$XML(t).find("BuffNumberType").eq(0).text()),s.$XML(m).find("RecordPath").eq(0).text(s.$XML(t).find("RecordPath").eq(0).text()),s.$XML(m).find("CapturePath").eq(0).text(s.$XML(t).find("CapturePath").eq(0).text()),s.$XML(m).find("PlaybackFilePath").eq(0).text(s.$XML(t).find("PlaybackFilePath").eq(0).text()),s.$XML(m).find("PlaybackPicPath").eq(0).text(s.$XML(t).find("PlaybackPicPath").eq(0).text()),s.$XML(m).find("DownloadPath").eq(0).text(s.$XML(t).find("DownloadPath").eq(0).text()),s.$XML(m).find("IVSMode").eq(0).text(s.$XML(t).find("IVSMode").eq(0).text()),s.$XML(m).find("CaptureFileFormat").eq(0).text(s.$XML(t).find("CaptureFileFormat").eq(0).text()),n=c.HWP_SetLocalConfig(I.toXMLStr(m)),n?0:-1
};
var Y=function(e,t,s,n,r,o,i){
	var a={
		protocol:t,success:null,error:null
	};
	I.extend(a,i),I.extend(a,{
		success:function(a){
			var c=new J;
			c.szIP=e,2==t?(c.szHttpProtocol="https://",c.iHttpsPort=s):(c.szHttpProtocol="http://",c.iHttpPort=s),c.iCGIPort=s,c.szAuth=n,c.iDeviceProtocol=r,c.oProtocolInc=o,l.push(c),Z("使用%s协议登录成功",r),N(c),i.success&&i.success(a)
		}
		,error:function(e,t){
			i.error&&i.error(e,t)
		}
	}
	),o.login(e,s,n,a)
};
this.I_Login=function(e,t,s,n,r,o){
	var i=this.findDeviceIndexByIP(e);
	if(-1!=i)return Z("设备已经登录过"),-1;
	var a=P,c=C;
	W(o.cgi)||(C==o.cgi?(a=P,c=C):(a=h,c=S));
	var u="";
	if(C==c){
		u=I.Base64.encode(":"+n+":"+r);
		var l={
			success:null,error:null
		};
		I.extend(l,o),I.extend(l,{
			error:function(i,l){
				u=I.Base64.encode(n+":"+r),c=C,a=P;
				var p={
					success:null,error:null
				};
				I.extend(p,o),I.extend(p,{
					error:function(){
						if(!W(o.cgi))return void(o.error&&o.error(i,l));
						u=I.Base64.encode(n+":"+r),c=S,a=h;
						var p={
							success:null,error:null
						};
						I.extend(p,o),I.extend(p,{
							error:function(e,t){
								o.error&&o.error(e,t)
							}
						}
						),Y(e,t,s,u,c,a,p)
					}
				}
				),Y(e,t,s,u,c,a,p)
			}
		}
		),Y(e,t,s,u,c,a,l)
	}
	else{
		u=I.Base64.encode(n+":"+r),c=S,a=h;
		var l={
			success:null,error:null
		};
		I.extend(l,o),I.extend(l,{
			error:function(e,t){
				o.error&&o.error(e,t)
			}
		}
		),Y(e,t,s,u,c,a,l)
	}
}
,this.I_Logout=function(e){
	var t=this.findDeviceIndexByIP(e);
	return-1!=t?(l.splice(t,1),0):-1
}
,this.I_GetAudioInfo=function(e,t){
	var s=this.findDeviceIndexByIP(e);
	if(-1!=s){
		var n=l[s],r={
			success:null,error:null
		};
		I.extend(r,t),n.oProtocolInc.getAudioInfo(n,r)
	}
}
,this.I_GetDeviceInfo=function(e,t){
	var s=this.findDeviceIndexByIP(e);
	if(-1!=s){
		var n=l[s],r={
			success:null,error:null
		};
		I.extend(r,t),n.oProtocolInc.getDeviceInfo(n,r)
	}
}
,this.I_GetAnalogChannelInfo=function(e,t){
	var s=this.findDeviceIndexByIP(e);
	if(-1!=s){
		var n=l[s],r={
			success:null,error:null
		};
		I.extend(r,t),n.oProtocolInc.getAnalogChannelInfo(n,r)
	}
}
,this.I_GetDigitalChannelInfo=function(e,t){
	var s=this.findDeviceIndexByIP(e);
	if(-1!=s){
		var n=l[s],r={
			success:null,error:null
		};
		I.extend(r,t),n.oProtocolInc.getDigitalChannelInfo(n,r)
	}
}
,this.I_GetZeroChannelInfo=function(e,t){
	var s=this.findDeviceIndexByIP(e);
	if(-1!=s){
		var n=l[s],r={
			success:null,error:null
		};
		I.extend(r,t),n.oProtocolInc.getZeroChannelInfo(n,r)
	}
}
,this.I_StartRealPlay=function(e,t){
	var n=this.findDeviceIndexByIP(e),r=-1,o="",i="",a=-1,c=0,d=0,P=!1,h={
		iWndIndex:u,iStreamType:1,iChannelID:1,bZeroChannel:!1
	};
	if(I.extend(h,t),-1!=n){
		j(l[n]);
		var f=l[n],C=parseInt(s.$XML(m).find("ProtocolType").eq(0).text(),10);
		if(C==R&&f.oStreamCapa.bSupportShttpPlay?(Z("SHTTP RealPlay"),o=f.oProtocolInc.CGI.startShttpRealPlay,i="http://",d=h.iStreamType-1,c=h.iChannelID<=f.iAnalogChannelNum?h.iChannelID:f.oStreamCapa.iIpChanBase+parseInt(h.iChannelID,10)-f.iAnalogChannelNum-1,P=!0,W(h.iPort)?"https://"==f.szHttpProtocol?(-1==f.iHttpPort&&(f.iHttpPort=B(f).iHttpPort),a=f.iHttpPort):a=f.iCGIPort:(f.iHttpPort=h.iPort,a=h.iPort)):(Z("RTSP RealPlay"),o=f.oProtocolInc.CGI.startRealPlay,i="rtsp://",d=h.iStreamType,c=h.iChannelID,W(h.iPort)||(f.iRtspPort=h.iPort),-1==f.iRtspPort&&(f.iRtspPort=B(f).iRtspPort),a=f.iRtspPort),-1==a)return Z("获取端口号失败"),r;
		if(I.extend(h,{
			urlProtocol:i,cgi:o,iPort:a,iStreamType:d,iChannelID:c
		}
		),n=this.findWndIndexByIndex(h.iWndIndex),-1==n&&(r=f.oProtocolInc.startRealPlay(f,h)),-1==r)f.iRtspPort=-1;
		else{
			n=this.findWndIndexByIndex(h.iWndIndex);
			var S=p[n];
			S.bShttpIPChannel=P
		}
	}
	return r
}
,this.I_Stop=function(e){
	e=W(e)?u:e;
	var t=this.findWndIndexByIndex(e),s=-1;
	if(-1!=t){
		var n=p[t];
		n.bRecord&&c.HWP_StopSave(n.iIndex),n.bSound&&c.HWP_CloseSound(),n.bEZoom&&c.HWP_DisableZoom(n.iIndex),s=c.HWP_Stop(e),0==s&&p.splice(t,1)
	}
	return s
}
,this.I_OpenSound=function(e){
	e=W(e)?u:e;
	var t=this.findWndIndexByIndex(e),s=-1;
	if(-1!=t){
		var n=p[t];
		n.bSound||(s=c.HWP_OpenSound(e),0==s&&(n.bSound=!0))
	}
	return s
}
,this.I_CloseSound=function(e){
	e=W(e)?u:e;
	var t=this.findWndIndexByIndex(e),s=-1;
	if(-1!=t){
		var n=p[t];
		n.bSound&&(s=c.HWP_CloseSound(),0==s&&(n.bSound=!1))
	}
	return s
}
,this.I_SetVolume=function(e,t){
	t=W(t)?u:t;
	var s=this.findWndIndexByIndex(t),n=-1;
	return-1!=s&&(n=c.HWP_SetVolume(t,e)),n
}
,this.I_CapturePic=function(e,t){
	t=W(t)?u:t;
	var s=this.findWndIndexByIndex(t),n=-1;
	return-1!=s&&(n=c.HWP_CapturePicture(t,e)),n
}
,this.I_StartRecord=function(e,t){
	t=W(t)?u:t;
	var s=this.findWndIndexByIndex(t),n=-1;
	if(-1!=s){
		var r=p[s];
		r.bRecord||(n=c.HWP_StartSave(t,e),0==n&&(r.bRecord=!0))
	}
	return n
}
,this.I_StopRecord=function(e){
	e=W(e)?u:e;
	var t=this.findWndIndexByIndex(e),s=-1;
	if(-1!=t){
		var n=p[t];
		n.bRecord&&(s=c.HWP_StopSave(e),0==s&&(n.bRecord=!1))
	}
	return s
}
,this.I_StartVoiceTalk=function(e,t){
	if(isNaN(parseInt(t,10)))return-1;
	var s=this.findDeviceIndexByIP(e),n=-1;
	if(-1!=s){
		var r=l[s];
		r.bVoiceTalk||(n=r.oProtocolInc.startVoiceTalk(r,t),0==n&&(l[s].bVoiceTalk=!0))
	}
	return n
}
,this.I_StopVoiceTalk=function(){
	for(var e=c.HWP_StopVoiceTalk(),t=0,s=l.length;s>t;t++)if(l[t].bVoiceTalk){
		l[t].bVoiceTalk=!1;
		break
	}
	return e
}
,this.I_PTZControl=function(e,t,s){
	var n={
		iWndIndex:u,iPTZIndex:e,iPTZSpeed:4
	};
	I.extend(n,s),I.extend(n,{
		async:!1
	}
	);
	var r=this.findWndIndexByIndex(n.iWndIndex);
	if(-1!=r){
		var o=p[r];
		if(r=this.findDeviceIndexByIP(o.szIP),-1!=r){
			var i=l[r];
			9==e?i.oProtocolInc.ptzAutoControl(i,t,o,n):i.oProtocolInc.ptzControl(i,t,o,n)
		}
	}
}
,this.I_EnableEZoom=function(e){
	e=W(e)?u:e;
	var t=this.findWndIndexByIndex(e),s=-1;
	if(-1!=t){
		var n=p[t];
		n.bEZoom||(s=c.HWP_EnableZoom(e,0),0==s&&(n.bEZoom=!0))
	}
	return s
}
,this.I_DisableEZoom=function(e){
	e=W(e)?u:e;
	var t=this.findWndIndexByIndex(e),s=-1;
	if(-1!=t){
		var n=p[t];
		if(n.bEZoom)return c.HWP_DisableZoom(e),n.bEZoom=!1,0
	}
	return s
}
,this.I_Enable3DZoom=function(e){
	e=W(e)?u:e;
	var t=this.findWndIndexByIndex(e),s=-1;
	if(-1!=t){
		var n=p[t];
		n.b3DZoom||(s=c.HWP_EnableZoom(e,1),0==s&&(n.b3DZoom=!0))
	}
	return s
}
,this.I_Disable3DZoom=function(e){
	e=W(e)?u:e;
	var t=this.findWndIndexByIndex(e),s=-1;
	if(-1!=t){
		var n=p[t];
		if(n.b3DZoom)return c.HWP_DisableZoom(e),n.b3DZoom=!1,0
	}
	return s
}
,this.I_FullScreen=function(e){
	c.HWP_FullScreenDisplay(e)
}
,this.I_SetPreset=function(e,t){
	var s={
		iWndIndex:u,iPresetID:e
	};
	I.extend(s,t);
	var n=this.findWndIndexByIndex(s.iWndIndex);
	if(-1!=n){
		var r=p[n];
		if(n=this.findDeviceIndexByIP(r.szIP),-1!=n){
			var o=l[n];
			o.oProtocolInc.setPreset(o,r,s)
		}
	}
}
,this.I_GoPreset=function(e,t){
	var s={
		iWndIndex:u,iPresetID:e
	};
	I.extend(s,t);
	var n=this.findWndIndexByIndex(s.iWndIndex);
	if(-1!=n){
		var r=p[n];
		if(n=this.findDeviceIndexByIP(r.szIP),-1!=n){
			var o=l[n];
			o.oProtocolInc.goPreset(o,r,s)
		}
	}
}
,this.I_RecordSearch=function(e,t,s,n,r){
	var o=this.findDeviceIndexByIP(e);
	if(-1!=o){
		var i=l[o],a={
			iChannelID:t,szStartTime:s,szEndTime:n,iSearchPos:0,success:null,error:null
		};
		I.extend(a,r),i.oProtocolInc.recordSearch(i,a)
	}
}
,this.I_StartPlayback=function(e,t){
	var n=this.findDeviceIndexByIP(e),r=-1,o="",i="",a=-1,c=1,p=I.dateFormat(new Date,"yyyy-MM-dd"),d={
		iWndIndex:u,iChannelID:1,szStartTime:p+" 00:00:00",szEndTime:p+" 23:59:59"
	};
	if(I.extend(d,t),-1!=n){
		j(l[n]);
		var P=l[n],h=parseInt(s.$XML(m).find("ProtocolType").eq(0).text(),10);
		if(h==R&&P.oStreamCapa.bSupportShttpPlay?(o=W(d.oTransCodeParam)?P.oProtocolInc.CGI.startShttpPlayback:P.oProtocolInc.CGI.startTransCodePlayback,i="http://",c=d.iChannelID<=P.iAnalogChannelNum?d.iChannelID:P.oStreamCapa.iIpChanBase+parseInt(d.iChannelID,10)-P.iAnalogChannelNum-1,W(d.iPort)?"https://"==P.szHttpProtocol?(-1==P.iHttpPort&&(P.iHttpPort=B(P).iHttpPort),a=P.iHttpPort):a=P.iCGIPort:(P.iHttpPort=d.iPort,a=d.iPort)):(o=P.oProtocolInc.CGI.startPlayback,i="rtsp://",c=100*d.iChannelID+1,W(d.iPort)||(P.iRtspPort=d.iPort),-1==P.iRtspPort&&(P.iRtspPort=B(P).iRtspPort),a=P.iRtspPort),-1==a)return Z("获取端口号失败"),r;
		I.extend(d,{
			urlProtocol:i,cgi:o,iPort:a,iChannelID:c
		}
		),n=this.findWndIndexByIndex(d.iWndIndex),-1==n&&(d.szStartTime=d.szStartTime.replace(/[-:]/g,"").replace(" ","T")+"Z",d.szEndTime=d.szEndTime.replace(/[-:]/g,"").replace(" ","T")+"Z",r=P.oProtocolInc.startPlayback(P,d)),-1==r&&(P.iRtspPort=-1)
	}
	return r
}
,this.I_ReversePlayback=function(e,t){
	var n=this.findDeviceIndexByIP(e),r=-1,o="",i="",a=-1,c=-1,p=I.dateFormat(new Date,"yyyy-MM-dd"),d={
		iWndIndex:u,iChannelID:1,bZeroChannel:!1,szStartTime:p+" 00:00:00",szEndTime:p+" 23:59:59"
	};
	if(I.extend(d,t),-1!=n){
		j(l[n]);
		var P=l[n],h=parseInt(s.$XML(m).find("ProtocolType").eq(0).text(),10);
		if(h==R&&P.oStreamCapa.bSupportShttpPlay?(o=P.oProtocolInc.CGI.startShttpReversePlayback,i="http://",c=d.iChannelID<=P.iAnalogChannelNum?d.iChannelID:P.oStreamCapa.iIpChanBase+parseInt(d.iChannelID,10)-P.iAnalogChannelNum-1,W(d.iPort)?"https://"==P.szHttpProtocol?(-1==P.iHttpPort&&(P.iHttpPort=B(P).iHttpPort),a=P.iHttpPort):a=P.iCGIPort:(P.iHttpPort=d.iPort,a=d.iPort)):(o=P.oProtocolInc.CGI.startPlayback,i="rtsp://",c=100*d.iChannelID+1,W(d.iPort)||(P.iRtspPort=d.iPort),-1==P.iRtspPort&&(P.iRtspPort=B(P).iRtspPort),a=P.iRtspPort),-1==a)return Z("获取端口号失败"),r;
		I.extend(d,{
			urlProtocol:i,cgi:o,iPort:a,iChannelID:c
		}
		),n=this.findWndIndexByIndex(d.iWndIndex),-1==n&&(d.szStartTime=d.szStartTime.replace(/[-:]/g,"").replace(" ","T")+"Z",d.szEndTime=d.szEndTime.replace(/[-:]/g,"").replace(" ","T")+"Z",r=P.oProtocolInc.reversePlayback(P,d))
	}
	return-1==r&&(P.iRtspPort=-1),r
}
,this.I_Frame=function(e){
	e=W(e)?u:e;
	var t=this.findWndIndexByIndex(e),s=-1;
	if(-1!=t){
		var n=p[t],r=n.iPlayStatus;
		(r==x||r==z)&&(s=c.HWP_FrameForward(e),0==s&&(n.iPlayStatus=z))
	}
	return s
}
,this.I_Pause=function(e){
	e=W(e)?u:e;
	var t=this.findWndIndexByIndex(e),s=-1;
	if(-1!=t){
		var n=p[t],r=n.iPlayStatus;
		r==x?(s=c.HWP_Pause(e),0==s&&(n.iPlayStatus=T)):r==D&&(s=c.HWP_Pause(e),0==s&&(n.iPlayStatus=A))
	}
	return s
}
,this.I_Resume=function(e){
	e=W(e)?u:e;
	var t=this.findWndIndexByIndex(e),s=-1;
	if(-1!=t){
		var n=p[t],r=n.iPlayStatus;
		r==T||r==z?(s=c.HWP_Resume(e),0==s&&(n.iPlayStatus=x)):r==A&&(s=c.HWP_Resume(e),0==s&&(n.iPlayStatus=D))
	}
	return s
}
,this.I_PlaySlow=function(e){
	e=W(e)?u:e;
	var t=this.findWndIndexByIndex(e),s=-1;
	if(-1!=t){
		var n=p[t];
		n.iPlayStatus==x&&(s=c.HWP_Slow(e))
	}
	return s
}
,this.I_PlayFast=function(e){
	e=W(e)?u:e;
	var t=this.findWndIndexByIndex(e),s=-1;
	if(-1!=t){
		var n=p[t];
		n.iPlayStatus==x&&(s=c.HWP_Fast(e))
	}
	return s
}
,this.I_GetOSDTime=function(e){
	e=W(e)?u:e;
	var t=this.findWndIndexByIndex(e),s=-1;
	if(-1!=t){
		var n=c.HWP_GetOSDTime(e);
		return I.dateFormat(new Date(1e3*n),"yyyy-MM-dd hh:mm:ss")
	}
	return s
}
,this.I_StartDownloadRecord=function(e,t,s){
	var n=this.findDeviceIndexByIP(e),r=-1;
	if(-1!=n){
		var o=l[n],i={
			szPlaybackURI:t,szFileName:s
		};
		r=o.oProtocolInc.startDownloadRecord(o,i)
	}
	return r
}
,this.I_GetDownloadStatus=function(e){
	return c.HWP_GetDownloadStatus(e)
}
,this.I_GetDownloadProgress=function(e){
	return c.HWP_GetDownloadProgress(e)
}
,this.I_StopDownloadRecord=function(e){
	return c.HWP_StopDownload(e)
}
,this.I_ExportDeviceConfig=function(e){
	var t=this.findDeviceIndexByIP(e);
	if(-1!=t){
		var s=l[t];
		return s.oProtocolInc.exportDeviceConfig(s)
	}
}
,this.I_ImportDeviceConfig=function(e,t){
	var s=this.findDeviceIndexByIP(e),n=-1;
	if(-1!=s){
		var r=l[s],o={
			szFileName:t
		};
		n=r.oProtocolInc.importDeviceConfig(r,o)
	}
	return n
}
,this.I_RestoreDefault=function(e,t,s){
	var n={
		success:null,error:null
	};
	I.extend(n,s);
	var r=this.findDeviceIndexByIP(e);
	if(-1!=r){
		var o=l[r];
		o.oProtocolInc.restore(o,t,n)
	}
}
,this.I_Restart=function(e,t){
	var s=this.findDeviceIndexByIP(e),n={
		success:null,error:null
	};
	if(I.extend(n,t),-1!=s){
		var r=l[s];
		r.oProtocolInc.restart(r,n)
	}
}
,this.I_Reconnect=function(e,t){
	var s=this.findDeviceIndexByIP(e),n={
		success:null,error:null
	};
	if(I.extend(n,t),-1!=s){
		var r=l[s];
		r.oProtocolInc.login(r.szIP,r.iCGIPort,r.szAuth,n)
	}
}
,this.I_StartUpgrade=function(e,t){
	var s=this.findDeviceIndexByIP(e),n=-1;
	if(-1!=s){
		var r=l[s],o={
			szFileName:t
		};
		n=r.oProtocolInc.startUpgrade(r,o)
	}
	return n
}
,this.I_UpgradeStatus=function(){
	return c.HWP_UpgradeStatus()
}
,this.I_UpgradeProgress=function(){
	return c.HWP_UpgradeProgress()
}
,this.I_StopUpgrade=function(){
	return c.HWP_StopUpgrade()
}
,this.I_CheckPluginInstall=function(){
	var e=!1;
	if(I.browser().msie)try{{
			new ActiveXObject("WebVideoActiveX.WebVideoActiveXCtrl.1")
		}
		e=!0
	}
	catch(t){
	}
	else for(var s=0,n=navigator.mimeTypes.length;n>s;s++)if("application/hwp-webvideo-plugin"==navigator.mimeTypes[s].type.toLowerCase()){
		e=!0;
		break
	}
	return e?0:-1
}
,this.I_CheckPluginVersion=function(){
	return c.HWP_CheckPluginUpdate(w)?-1:0
}
,this.I_RemoteConfig=function(e,t){
	var s=this.findDeviceIndexByIP(e),n=-1,r=-1,o={
		iLan:0,iDevicePort:-1,iType:0
	};
	if(I.extend(o,t),-1!=s){
		var i=l[s];
		if(-1==o.iDevicePort)if(-1==i.iDevicePort){
			if(i.iDevicePort=B(i).iDevicePort,r=i.iDevicePort,-1==r)return n
		}
		else r=i.iDevicePort;
		else r=o.iDevicePort;
		if(":"==I.Base64.decode(i.szAuth)[0])var a=I.Base64.decode(i.szAuth).split(":")[1],u=I.Base64.decode(i.szAuth).split(":")[2];
		else var a=I.Base64.decode(i.szAuth).split(":")[0],u=I.Base64.decode(i.szAuth).split(":")[1];
		var p="<RemoteInfo><DeviceInfo><DeviceType>"+o.iType+"</DeviceType><LanType>"+o.iLan+"</LanType><IP>"+e+"</IP><Port>"+r+"</Port><UName>"+a+"</UName><PWD>"+I.Base64.encode(u)+"</PWD></DeviceInfo></RemoteInfo>";
		return c.HWP_ShowRemConfig(p)
	}
	return n
}
,this.I_ChangeWndNum=function(e){
	return isNaN(parseInt(e,10))?-1:void c.HWP_ArrangeWindow(e)
}
,this.I_GetLastError=function(){
	return c.HWP_GetLastError()
}
,this.I_GetWindowStatus=function(e){
	if(W(e)){
		var t=[];
		return I.extend(t,p),t
	}
	var s=this.findWndIndexByIndex(e);
	return-1!=s?p[s]:null
}
,this.I_GetIPInfoByMode=function(e,t,s,n){
	return c.HWP_GetIpInfoByMode(e,t,s,n)
}
,this.findDeviceIndexByIP=function(e){
	for(var t=0;t<l.length;t++)if(l[t].szIP==e)return t;
	return-1
}
,this.findWndIndexByIndex=function(e){
	for(var t=0;t<p.length;t++)if(p[t].iIndex==e)return t;
	return-1
};
var J=function(){
	this.szIP="",this.szHostName="",this.szAuth="",this.szHttpProtocol="http://",this.iCGIPort=80,this.iDevicePort=-1,this.iHttpPort=-1,this.iHttpsPort=-1,this.iRtspPort=-1,this.iAudioType=1,this.iDeviceProtocol=C,this.oProtocolInc=null,this.iAnalogChannelNum=0,this.szDeviceType="",this.bVoiceTalk=!1,this.oStreamCapa={
		bObtained:!1,bSupportShttpPlay:!1,bSupportShttpPlayback:!1,bSupportShttpsPlay:!1,bSupportShttpsPlayback:!1,bSupportShttpPlaybackTransCode:!1,bSupportShttpsPlaybackTransCode:!1,iIpChanBase:1
	}
}
,Q=function(){
	this.iIndex=0,this.szIP="",this.iChannelID="",this.iPlayStatus=g,this.bSound=!1,this.bRecord=!1,this.bPTZAuto=!1,this.bEZoom=!1,this.b3DZoom=!1
}
,et=function(){
	this.options={
		type:"GET",url:"",auth:"",timeout:1e4,data:"",async:!0,success:null,error:null
	}
	,this.m_szHttpHead="",this.m_szHttpContent="",this.m_szHttpData=""
};
et.prototype.m_httpRequestSet=[],et.prototype.setRequestParam=function(e){
	I.extend(this.options,e)
}
,et.prototype.submitRequest=function(){
	var e=this.getHttpMethod(this.options.type),t=null;
	if(this.options.async){
		var s=c.HWP_SubmitHttpRequest(e,this.options.url,this.options.auth,this.options.data,this.options.timeout);
		-1!=s&&(t={
			iRequestID:s,funSuccessCallback:this.options.success,funErrorCallback:this.options.error
		}
		,this.m_httpRequestSet.push(t))
	}
	else{
		var n=c.HWP_SendHttpSynRequest(e,this.options.url,this.options.auth,this.options.data,this.options.timeout);
		t={
			funSuccessCallback:this.options.success,funErrorCallback:this.options.error
		}
		,this.httpDataAnalyse(t,n)
	}
}
,et.prototype.getHttpMethod=function(e){
	var t={
		GET:1,POST:2,PUT:5,DELETE:6
	}
	,s=t[e];
	return s?s:-1
}
,et.prototype.processCallback=function(e,t){
	for(var s=null,n=0;n<this.m_httpRequestSet.length;n++)if(e==this.m_httpRequestSet[n].iRequestID){
		s=this.m_httpRequestSet[n],this.m_httpRequestSet.splice(n,1);
		break
	}
	null!=s&&(this.httpDataAnalyse(s,t),delete s)
}
,et.prototype.httpDataAnalyse=function(e,t){
	var s="",n=0;
	""==t||W(t)?e.funErrorCallback():(n=parseInt(t.substring(0,3)),s=t.substring(3,t.length),isNaN(n)?e.funErrorCallback():y==n?e.funSuccessCallback(I.loadXML(s)):e.funErrorCallback(n,I.loadXML(s)))
};
var tt=function(){
};
tt.prototype.CGI={
	login:"%s%s:%s/ISAPI/Security/userCheck",getAudioInfo:"%s%s:%s/ISAPI/System/TwoWayAudio/channels",getDeviceInfo:"%s%s:%s/ISAPI/System/deviceInfo",getAnalogChannelInfo:"%s%s:%s/ISAPI/System/Video/inputs/channels",getDigitalChannelInfo:"%s%s:%s/ISAPI/ContentMgmt/InputProxy/channels/status",getZeroChannelInfo:"%s%s:%s/ISAPI/ContentMgmt/ZeroVideo/channels",getStreamChannels:{
		analog:"%s%s:%s/ISAPI/Streaming/channels",digital:"%s%s:%s/ISAPI/ContentMgmt/StreamingProxy/channels"
	}
	,getStreamDynChannels:"%s%s:%s/PSIA/Custom/SelfExt/ContentMgmt/DynStreaming/channels",startRealPlay:{
		channels:"%s%s:%s/PSIA/streaming/channels/%s",zeroChannels:"%s%s:%s/PSIA/Custom/SelfExt/ContentMgmt/ZeroStreaming/channels/%s"
	}
	,startShttpRealPlay:{
		channels:"%s%s:%s/SDK/play/%s/004",zeroChannels:"%s%s:%s/SDK/play/100/004/ZeroStreaming"
	}
	,startVoiceTalk:{
		open:"%s%s:%s/ISAPI/System/TwoWayAudio/channels/%s/open",close:"%s%s:%s/ISAPI/System/TwoWayAudio/channels/%s/close",audioData:"%s%s:%s/ISAPI/System/TwoWayAudio/channels/%s/audioData"
	}
	,ptzControl:{
		analog:"%s%s:%s/ISAPI/PTZCtrl/channels/%s/continuous",digital:"%s%s:%s/ISAPI/ContentMgmt/PTZCtrlProxy/channels/%s/continuous"
	}
	,ptzAutoControl:{
		ipdome:"%s%s:%s/ISAPI/PTZCtrl/channels/%s/presets/%s/goto",analog:"%s%s:%s/ISAPI/PTZCtrl/channels/%s/autoPan",digital:"%s%s:%s/ISAPI/ContentMgmt/PTZCtrlProxy/channels/%s/autoPan"
	}
	,setPreset:{
		analog:"%s%s:%s/ISAPI/PTZCtrl/channels/%s/presets/%s",digital:"%s%s:%s/ISAPI/ContentMgmt/PTZCtrlProxy/channels/%s/presets/%s"
	}
	,goPreset:{
		analog:"%s%s:%s/ISAPI/PTZCtrl/channels/%s/presets/%s/goto",digital:"%s%s:%s/ISAPI/ContentMgmt/PTZCtrlProxy/channels/%s/presets/%s/goto"
	}
	,ptzFocus:{
		analog:"%s%s:%s/ISAPI/Image/channels/%s/focus",digital:"%s%s:%s/ISAPI/ContentMgmt/ImageProxy/channels/%s/focus",ipc:"%s%s:%s/ISAPI/System/Video/inputs/channels/%s/focus"
	}
	,ptzIris:{
		analog:"%s%s:%s/ISAPI/Image/channels/%s/iris",digital:"%s%s:%s/ISAPI/ContentMgmt/ImageProxy/channels/%s/iris",ipc:"%s%s:%s/ISAPI/System/Video/inputs/channels/%s/iris"
	}
	,getNetworkBond:"%s%s:%s/ISAPI/System/Network/Bond",getNetworkInterface:"%s%s:%s/ISAPI/System/Network/interfaces",getUPnPPortStatus:"%s%s:%s/ISAPI/System/Network/UPnP/ports/status",getPPPoEStatus:"%s%s:%s/ISAPI/System/Network/PPPoE/1/status",getPortInfo:"%s%s:%s/ISAPI/Security/adminAccesses",recordSearch:"%s%s:%s/ISAPI/ContentMgmt/search",startPlayback:"%s%s:%s/PSIA/streaming/tracks/%s?starttime=%s&endtime=%s",startShttpPlayback:"%s%s:%s/SDK/playback/%s",startShttpReversePlayback:"%s%s:%s/SDK/playback/%s/reversePlay",startTransCodePlayback:"%s%s:%s/SDK/playback/%s/transcoding",startDownloadRecord:"%s%s:%s/ISAPI/ContentMgmt/download",deviceConfig:"%s%s:%s/ISAPI/System/configurationData",restart:"%s%s:%s/ISAPI/System/reboot",restore:"%s%s:%s/ISAPI/System/factoryReset?mode=%s",startUpgrade:{
		upgrade:"%s%s:%s/ISAPI/System/updateFirmware",status:"%s%s:%s/ISAPI/System/upgradeStatus"
	}
	,set3DZoom:"%s%s:%s/ISAPI/PTZCtrl/channels/%s/position3D",SDKCapabilities:"%s%s:%s/SDK/capabilities"
}
,tt.prototype.login=function(e,t,n,r){
	var o=2==r.protocol?"https://":"http://",i=k(this.CGI.login,o,e,t),a=new et,c={
		type:"GET",url:i,auth:n,success:null,error:null
	};
	I.extend(c,r),I.extend(c,{
		success:function(e){
			"200"==s.$XML(e).find("statusValue").eq(0).text()||"OK"==s.$XML(e).find("statusString").eq(0).text()?r.success&&r.success(e):r.error&&r.error(401,e)
		}
		,error:function(e,t){
			r.error&&r.error(e,t)
		}
	}
	),a.setRequestParam(c),a.submitRequest()
}
,tt.prototype.getAudioInfo=function(e,t){
	var s=k(this.CGI.getAudioInfo,e.szHttpProtocol,e.szIP,e.iCGIPort),n=new et,r={
		type:"GET",url:s,auth:e.szAuth,success:null,error:null
	};
	I.extend(r,t),I.extend(r,{
		success:function(e){
			t.success&&t.success(e)
		}
		,error:function(e,s){
			t.error&&t.error(e,s)
		}
	}
	),n.setRequestParam(r),n.submitRequest()
}
,tt.prototype.getDeviceInfo=function(e,t){
	var n=k(this.CGI.getDeviceInfo,e.szHttpProtocol,e.szIP,e.iCGIPort),r=new et,o={
		type:"GET",url:n,auth:e.szAuth,success:null,error:null
	};
	I.extend(o,t),I.extend(o,{
		success:function(e){
			var n=[];
			n.push("<DeviceInfo>"),n.push("<deviceName>"+I.escape(s.$XML(e).find("deviceName").eq(0).text())+"</deviceName>"),n.push("<deviceID>"+s.$XML(e).find("deviceID").eq(0).text()+"</deviceID>"),n.push("<deviceType>"+s.$XML(e).find("deviceType").eq(0).text()+"</deviceType>"),n.push("<model>"+s.$XML(e).find("model").eq(0).text()+"</model>"),n.push("<serialNumber>"+s.$XML(e).find("serialNumber").eq(0).text()+"</serialNumber>"),n.push("<macAddress>"+s.$XML(e).find("macAddress").eq(0).text()+"</macAddress>"),n.push("<firmwareVersion>"+s.$XML(e).find("firmwareVersion").eq(0).text()+"</firmwareVersion>"),n.push("<firmwareReleasedDate>"+s.$XML(e).find("firmwareReleasedDate").eq(0).text()+"</firmwareReleasedDate>"),n.push("<encoderVersion>"+s.$XML(e).find("encoderVersion").eq(0).text()+"</encoderVersion>"),n.push("<encoderReleasedDate>"+s.$XML(e).find("encoderReleasedDate").eq(0).text()+"</encoderReleasedDate>"),n.push("</DeviceInfo>"),e=I.loadXML(n.join("")),t.success&&t.success(e)
		}
		,error:function(e,s){
			t.error&&t.error(e,s)
		}
	}
	),r.setRequestParam(o),r.submitRequest()
}
,tt.prototype.getAnalogChannelInfo=function(e,t){
	var n=k(this.CGI.getAnalogChannelInfo,e.szHttpProtocol,e.szIP,e.iCGIPort),r=new et,o={
		type:"GET",url:n,auth:e.szAuth,success:null,error:null
	};
	I.extend(o,t),I.extend(o,{
		success:function(e){
			var n=[];
			n.push("<VideoInputChannelList>");
			for(var r=s.$XML(e).find("VideoInputChannel",!0),o=0,i=r.length;i>o;o++){
				var a=r[o];
				n.push("<VideoInputChannel>"),n.push("<id>"+s.$XML(a).find("id").eq(0).text()+"</id>"),n.push("<inputPort>"+s.$XML(a).find("inputPort").eq(0).text()+"</inputPort>"),n.push("<name>"+I.escape(s.$XML(a).find("name").eq(0).text())+"</name>"),n.push("<videoFormat>"+s.$XML(a).find("videoFormat").eq(0).text()+"</videoFormat>"),n.push("</VideoInputChannel>")
			}
			n.push("</VideoInputChannelList>"),e=I.loadXML(n.join("")),t.success&&t.success(e)
		}
		,error:function(e,s){
			t.error&&t.error(e,s)
		}
	}
	),r.setRequestParam(o),r.submitRequest()
}
,tt.prototype.getDigitalChannelInfo=function(e,t){
	var n=k(this.CGI.getDigitalChannelInfo,e.szHttpProtocol,e.szIP,e.iCGIPort),r=new et,o={
		type:"GET",url:n,auth:e.szAuth,success:null,error:null
	};
	I.extend(o,t),I.extend(o,{
		success:function(e){
			var n=[];
			n.push("<InputProxyChannelStatusList>");
			for(var r=s.$XML(e).find("InputProxyChannelStatus",!0),o=0,i=r.length;i>o;o++){
				var a=r[o];
				n.push("<InputProxyChannelStatus>"),n.push("<id>"+s.$XML(a).find("id").eq(0).text()+"</id>"),n.push("<sourceInputPortDescriptor>"),n.push("<proxyProtocol>"+s.$XML(a).find("proxyProtocol").eq(0).text()+"</proxyProtocol>"),n.push("<addressingFormatType>"+s.$XML(a).find("addressingFormatType").eq(0).text()+"</addressingFormatType>"),n.push("<ipAddress>"+s.$XML(a).find("ipAddress").eq(0).text()+"</ipAddress>"),n.push("<managePortNo>"+s.$XML(a).find("managePortNo").eq(0).text()+"</managePortNo>"),n.push("<srcInputPort>"+s.$XML(a).find("srcInputPort").eq(0).text()+"</srcInputPort>"),n.push("<userName>"+I.escape(s.$XML(a).find("userName").eq(0).text())+"</userName>"),n.push("<streamType>"+s.$XML(a).find("streamType").eq(0).text()+"</streamType>"),n.push("<online>"+s.$XML(a).find("online").eq(0).text()+"</online>"),n.push("</sourceInputPortDescriptor>"),n.push("</InputProxyChannelStatus>")
			}
			n.push("</InputProxyChannelStatusList>"),e=I.loadXML(n.join("")),t.success&&t.success(e)
		}
		,error:function(e,s){
			t.error&&t.error(e,s)
		}
	}
	),r.setRequestParam(o),r.submitRequest()
}
,tt.prototype.getZeroChannelInfo=function(e,t){
	var s=k(this.CGI.getZeroChannelInfo,e.szHttpProtocol,e.szIP,e.iCGIPort),n=new et,r={
		type:"GET",url:s,auth:e.szAuth,success:null,error:null
	};
	I.extend(r,t),I.extend(r,{
		success:function(e){
			t.success&&t.success(e)
		}
		,error:function(e,s){
			t.error&&t.error(e,s)
		}
	}
	),n.setRequestParam(r),n.submitRequest()
}
,tt.prototype.getStreamChannels=function(e,t){
	if(0!=e.iAnalogChannelNum)var s=k(this.CGI.getStreamChannels.analog,e.szHttpProtocol,e.szIP,e.iCGIPort);
	else var s=k(this.CGI.getStreamChannels.digital,e.szHttpProtocol,e.szIP,e.iCGIPort);
	var n=new et,r={
		type:"GET",url:s,auth:e.szAuth,success:null,error:null
	};
	I.extend(r,t),I.extend(r,{
		success:function(e){
			t.success&&t.success(e)
		}
		,error:function(e,s){
			t.error&&t.error(e,s)
		}
	}
	),n.setRequestParam(r),n.submitRequest()
}
,tt.prototype.getPPPoEStatus=function(e,t){
	var s=k(this.CGI.getPPPoEStatus,e.szHttpProtocol,e.szIP,e.iCGIPort),n=new et,r={
		type:"GET",url:s,auth:e.szAuth,success:null,error:null
	};
	I.extend(r,t),I.extend(r,{
		success:function(e){
			t.success&&t.success(e)
		}
		,error:function(e,s){
			t.error&&t.error(e,s)
		}
	}
	),n.setRequestParam(r),n.submitRequest()
}
,tt.prototype.getUPnPPortStatus=function(e,t){
	var s=k(this.CGI.getUPnPPortStatus,e.szHttpProtocol,e.szIP,e.iCGIPort),n=new et,r={
		type:"GET",url:s,auth:e.szAuth,success:null,error:null
	};
	I.extend(r,t),I.extend(r,{
		success:function(e){
			t.success&&t.success(e)
		}
		,error:function(e,s){
			t.error&&t.error(e,s)
		}
	}
	),n.setRequestParam(r),n.submitRequest()
}
,tt.prototype.getNetworkBond=function(e,t){
	var s=k(this.CGI.getNetworkBond,e.szHttpProtocol,e.szIP,e.iCGIPort),n=new et,r={
		type:"GET",url:s,auth:e.szAuth,success:null,error:null
	};
	I.extend(r,t),I.extend(r,{
		success:function(e){
			t.success&&t.success(e)
		}
		,error:function(e,s){
			t.error&&t.error(e,s)
		}
	}
	),n.setRequestParam(r),n.submitRequest()
}
,tt.prototype.getNetworkInterface=function(e,t){
	var s=k(this.CGI.getNetworkInterface,e.szHttpProtocol,e.szIP,e.iCGIPort),n=new et,r={
		type:"GET",url:s,auth:e.szAuth,success:null,error:null
	};
	I.extend(r,t),I.extend(r,{
		success:function(e){
			t.success&&t.success(e)
		}
		,error:function(e,s){
			t.error&&t.error(e,s)
		}
	}
	),n.setRequestParam(r),n.submitRequest()
}
,tt.prototype.getPortInfo=function(e,t){
	var s=k(this.CGI.getPortInfo,e.szHttpProtocol,e.szIP,e.iCGIPort),n=new et,r={
		type:"GET",url:s,auth:e.szAuth,success:null,error:null
	};
	I.extend(r,t),I.extend(r,{
		success:function(e){
			t.success&&t.success(e)
		}
		,error:function(e,s){
			t.error&&t.error(e,s)
		}
	}
	),n.setRequestParam(r),n.submitRequest()
}
,tt.prototype.startRealPlay=function(e,t){
	var s=100*t.iChannelID+t.iStreamType,n="";
	n=t.bZeroChannel?k(t.cgi.zeroChannels,t.urlProtocol,e.szIP,t.iPort,s):k(t.cgi.channels,t.urlProtocol,e.szIP,t.iPort,s);
	var r=c.HWP_Play(n,e.szAuth,t.iWndIndex,"","");
	if(0==r){
		var o=new Q;
		o.iIndex=t.iWndIndex,o.szIP=e.szIP,o.iChannelID=t.iChannelID,o.iPlayStatus=v,p.push(o)
	}
	return r
}
,tt.prototype.startVoiceTalk=function(e,t){
	var s=k(this.CGI.startVoiceTalk.open,e.szHttpProtocol,e.szIP,e.iCGIPort,t),n=k(this.CGI.startVoiceTalk.close,e.szHttpProtocol,e.szIP,e.iCGIPort,t),r=k(this.CGI.startVoiceTalk.audioData,e.szHttpProtocol,e.szIP,e.iCGIPort,t),o=c.HWP_StartVoiceTalk(s,n,r,e.szAuth,e.iAudioType);
	return o
}
,tt.prototype.ptzAutoControl=function(e,t,s,n){
	var r=s.iChannelID,o="",i="";
	if(n.iPTZSpeed=n.iPTZSpeed<7?15*n.iPTZSpeed:100,t&&(n.iPTZSpeed=0),e.szDeviceType!=X)o=r<=e.iAnalogChannelNum?k(this.CGI.ptzAutoControl.analog,e.szHttpProtocol,e.szIP,e.iCGIPort,s.iChannelID):s.bShttpIPChannel?k(this.CGI.ptzAutoControl.digital,e.szHttpProtocol,e.szIP,e.iCGIPort,s.iChannelID-e.oStreamCapa.iIpChanBase+1+e.iAnalogChannelNum):k(this.CGI.ptzAutoControl.digital,e.szHttpProtocol,e.szIP,e.iCGIPort,s.iChannelID),i="<?xml version='1.0' encoding='UTF-8'?><autoPanData><autoPan>"+n.iPTZSpeed+"</autoPan></autoPanData>";
	else{
		var a=99;
		t&&(a=96),o=k(this.CGI.ptzAutoControl.ipdome,e.szHttpProtocol,e.szIP,e.iCGIPort,s.iChannelID,a)
	}
	var c=new et,u={
		type:"PUT",url:o,async:!1,auth:e.szAuth,data:i,success:null,error:null
	}
	,l=this;
	I.extend(u,n),I.extend(u,{
		success:function(e){
			s.bPTZAuto=!s.bPTZAuto,n.success&&n.success(e)
		}
		,error:function(t,r){
			if(G==e.szDeviceType||H==e.szDeviceType){
				o=s.bShttpIPChannel?k(l.CGI.ptzControl.analog,e.szHttpProtocol,e.szIP,e.iCGIPort,s.iChannelID-e.oStreamCapa.iIpChanBase+1+e.iAnalogChannelNum):k(l.CGI.ptzControl.analog,e.szHttpProtocol,e.szIP,e.iCGIPort,s.iChannelID),i="<?xml version='1.0' encoding='UTF-8'?><PTZData><pan>"+n.iPTZSpeed+"</pan><tilt>0</tilt></PTZData>";
				var a=new et,c={
					type:"PUT",url:o,async:!1,auth:e.szAuth,data:i,success:null,error:null
				};
				I.extend(c,n),a.setRequestParam(c),a.submitRequest()
			}
			else n.error&&n.error(t,r)
		}
	}
	),c.setRequestParam(u),c.submitRequest()
}
,tt.prototype.ptzControl=function(e,t,s,n){
	var r=s.iChannelID,o="";
	s.bPTZAuto&&this.ptzAutoControl(e,!0,s,{
		iPTZSpeed:0
	}
	),n.iPTZSpeed=t?0:n.iPTZSpeed<7?15*n.iPTZSpeed:100;
	var i=[{
	}
	,{
		pan:0,tilt:n.iPTZSpeed
	}
	,{
		pan:0,tilt:-n.iPTZSpeed
	}
	,{
		pan:-n.iPTZSpeed,tilt:0
	}
	,{
		pan:n.iPTZSpeed,tilt:0
	}
	,{
		pan:-n.iPTZSpeed,tilt:n.iPTZSpeed
	}
	,{
		pan:-n.iPTZSpeed,tilt:-n.iPTZSpeed
	}
	,{
		pan:n.iPTZSpeed,tilt:n.iPTZSpeed
	}
	,{
		pan:n.iPTZSpeed,tilt:-n.iPTZSpeed
	}
	,{
	}
	,{
		speed:n.iPTZSpeed
	}
	,{
		speed:-n.iPTZSpeed
	}
	,{
		speed:n.iPTZSpeed
	}
	,{
		speed:-n.iPTZSpeed
	}
	,{
		speed:n.iPTZSpeed
	}
	,{
		speed:-n.iPTZSpeed
	}
	],a="",c={
	};
	switch(n.iPTZIndex){
		case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:c=this.CGI.ptzControl,a="<?xml version='1.0' encoding='UTF-8'?><PTZData><pan>"+i[n.iPTZIndex].pan+"</pan><tilt>"+i[n.iPTZIndex].tilt+"</tilt></PTZData>";
		break;
		case 10:case 11:c=this.CGI.ptzControl,a="<?xml version='1.0' encoding='UTF-8'?><PTZData><zoom>"+i[n.iPTZIndex].speed+"</zoom></PTZData>";
		break;
		case 12:case 13:c=this.CGI.ptzFocus,a="<?xml version='1.0' encoding='UTF-8'?><FocusData><focus>"+i[n.iPTZIndex].speed+"</focus></FocusData>";
		break;
		case 14:case 15:c=this.CGI.ptzIris,a="<?xml version='1.0' encoding='UTF-8'?><IrisData><iris>"+i[n.iPTZIndex].speed+"</iris></IrisData>";
		break;
		default:return void(W(n.error)&&n.error())
	}
	o=c!=this.CGI.ptzFocus&&c!=this.CGI.ptzIris||e.szDeviceType!=G&&e.szDeviceType!=X&&e.szDeviceType!=H?r<=e.iAnalogChannelNum?k(c.analog,e.szHttpProtocol,e.szIP,e.iCGIPort,s.iChannelID):s.bShttpIPChannel?k(c.digital,e.szHttpProtocol,e.szIP,e.iCGIPort,s.iChannelID-e.oStreamCapa.iIpChanBase+1+e.iAnalogChannelNum):k(c.digital,e.szHttpProtocol,e.szIP,e.iCGIPort,s.iChannelID):k(c.ipc,e.szHttpProtocol,e.szIP,e.iCGIPort,s.iChannelID);
	var u=new et,l={
		type:"PUT",url:o,async:!1,auth:e.szAuth,data:a,success:null,error:null
	};
	I.extend(l,n),I.extend(l,{
		success:function(e){
			n.success&&n.success(e)
		}
		,error:function(e,t){
			n.error&&n.error(e,t)
		}
	}
	),u.setRequestParam(l),u.submitRequest()
}
,tt.prototype.setPreset=function(e,t,s){
	var n=t.iChannelID,r="",o="";
	r=n<=e.iAnalogChannelNum?k(this.CGI.setPreset.analog,e.szHttpProtocol,e.szIP,e.iCGIPort,t.iChannelID,s.iPresetID):t.bShttpIPChannel?k(this.CGI.setPreset.digital,e.szHttpProtocol,e.szIP,e.iCGIPort,t.iChannelID-e.oStreamCapa.iIpChanBase+1+e.iAnalogChannelNum,s.iPresetID):k(this.CGI.setPreset.digital,e.szHttpProtocol,e.szIP,e.iCGIPort,t.iChannelID,s.iPresetID),o="<?xml version='1.0' encoding='UTF-8'?>",o+="<PTZPreset>",o+="<id>"+s.iPresetID+"</id>",e.szDeviceType!=X&&(o+="<presetName>Preset"+s.iPresetID+"</presetName>"),o+="</PTZPreset>";
	var i=new et,a={
		type:"PUT",url:r,auth:e.szAuth,data:o,success:null,error:null
	};
	I.extend(a,s),I.extend(a,{
		success:function(e){
			s.success&&s.success(e)
		}
		,error:function(e,t){
			s.error&&s.error(e,t)
		}
	}
	),i.setRequestParam(a),i.submitRequest()
}
,tt.prototype.goPreset=function(e,t,s){
	var n=t.iChannelID,r="";
	r=n<=e.iAnalogChannelNum?k(this.CGI.goPreset.analog,e.szHttpProtocol,e.szIP,e.iCGIPort,t.iChannelID,s.iPresetID):t.bShttpIPChannel?k(this.CGI.goPreset.digital,e.szHttpProtocol,e.szIP,e.iCGIPort,t.iChannelID-e.oStreamCapa.iIpChanBase+1+e.iAnalogChannelNum,s.iPresetID):k(this.CGI.goPreset.digital,e.szHttpProtocol,e.szIP,e.iCGIPort,t.iChannelID,s.iPresetID);
	var o=new et,i={
		type:"PUT",url:r,auth:e.szAuth,success:null,error:null
	};
	I.extend(i,s),I.extend(i,{
		success:function(e){
			s.success&&s.success(e)
		}
		,error:function(e,t){
			s.error&&s.error(e,t)
		}
	}
	),o.setRequestParam(i),o.submitRequest()
}
,tt.prototype.recordSearch=function(e,n){
	var r="",o="",i=n.iChannelID,a=n.szStartTime.replace(" ","T")+"Z",c=n.szEndTime.replace(" ","T")+"Z";
	r=k(this.CGI.recordSearch,e.szHttpProtocol,e.szIP,e.iCGIPort),o="<?xml version='1.0' encoding='UTF-8'?><CMSearchDescription><searchID>"+new t+"</searchID><trackList><trackID>"+(100*i+1)+"</trackID></trackList><timeSpanList><timeSpan><startTime>"+a+"</startTime><endTime>"+c+"</endTime></timeSpan></timeSpanList><maxResults>40</maxResults><searchResultPostion>"+n.iSearchPos+"</searchResultPostion><metadataList><metadataDescriptor>//metadata.ISAPI.org/VideoMotion</metadataDescriptor></metadataList></CMSearchDescription>";
	var u=new et,l={
		type:"POST",url:r,auth:e.szAuth,data:o,success:null,error:null
	};
	I.extend(l,n),I.extend(l,{
		success:function(e){
			var t=[];
			t.push("<CMSearchResult>"),t.push("<responseStatus>"+s.$XML(e).find("responseStatus").eq(0).text()+"</responseStatus>"),t.push("<responseStatusStrg>"+s.$XML(e).find("responseStatusStrg").eq(0).text()+"</responseStatusStrg>"),t.push("<numOfMatches>"+s.$XML(e).find("numOfMatches").eq(0).text()+"</numOfMatches>"),t.push("<matchList>");
			for(var r=s.$XML(e).find("searchMatchItem",!0),o=0,i=r.length;i>o;o++){
				var a=r[o];
				t.push("<searchMatchItem>"),t.push("<trackID>"+s.$XML(a).find("trackID").eq(0).text()+"</trackID>"),t.push("<startTime>"+s.$XML(a).find("startTime").eq(0).text()+"</startTime>"),t.push("<endTime>"+s.$XML(a).find("endTime").eq(0).text()+"</endTime>"),t.push("<playbackURI>"+I.escape(s.$XML(a).find("playbackURI").eq(0).text())+"</playbackURI>"),t.push("<metadataDescriptor>"+s.$XML(a).find("metadataDescriptor").eq(0).text().split("/")[1]+"</metadataDescriptor>"),t.push("</searchMatchItem>")
			}
			t.push("</matchList>"),t.push("</CMSearchResult>"),e=I.loadXML(t.join("")),n.success&&n.success(e)
		}
		,error:function(e,t){
			n.error&&n.error(e,t)
		}
	}
	),u.setRequestParam(l),u.submitRequest()
}
,tt.prototype.startPlayback=function(e,t){
	var s=t.iWndIndex,n=t.szStartTime,r=t.szEndTime,o=k(t.cgi,t.urlProtocol,e.szIP,t.iPort,t.iChannelID,n,r);
	if(!W(t.oTransCodeParam)){
		var i=K(t.oTransCodeParam);
		if(""==i)return-1;
		c.HWP_SetTrsPlayBackParam(s,i)
	}
	var a=c.HWP_Play(o,e.szAuth,s,n,r);
	if(0==a){
		var u=new Q;
		u.iIndex=s,u.szIP=e.szIP,u.iChannelID=t.iChannelID,u.iPlayStatus=x,p.push(u)
	}
	return a
}
,tt.prototype.reversePlayback=function(e,t){
	var s=t.iWndIndex,n=t.szStartTime,r=t.szEndTime,o=k(t.cgi,t.urlProtocol,e.szIP,t.iPort,t.iChannelID,n,r),i=c.HWP_ReversePlay(o,e.szAuth,s,n,r);
	if(0==i){
		var a=new Q;
		a.iIndex=s,a.szIP=e.szIP,a.iChannelID=t.iChannelID,a.iPlayStatus=D,p.push(a)
	}
	return i
}
,tt.prototype.startDownloadRecord=function(e,t){
	var s=k(this.CGI.startDownloadRecord,e.szHttpProtocol,e.szIP,e.iCGIPort),n="<?xml version='1.0' encoding='UTF-8'?><downloadRequest><playbackURI> "+I.escape(t.szPlaybackURI)+"</playbackURI></downloadRequest>";
	return c.HWP_StartDownload(s,e.szAuth,t.szFileName,n)
}
,tt.prototype.exportDeviceConfig=function(e){
	var t=k(this.CGI.deviceConfig,e.szHttpProtocol,e.szIP,e.iCGIPort);
	return c.HWP_ExportDeviceConfig(t,e.szAuth,"",0)
}
,tt.prototype.importDeviceConfig=function(e,t){
	var s=k(this.CGI.deviceConfig,e.szHttpProtocol,e.szIP,e.iCGIPort);
	return c.HWP_ImportDeviceConfig(s,e.szAuth,t.szFileName,0)
}
,tt.prototype.restart=function(e,t){
	var s=k(this.CGI.restart,e.szHttpProtocol,e.szIP,e.iCGIPort),n=new et,r={
		type:"PUT",url:s,auth:e.szAuth,success:null,error:null
	};
	I.extend(r,t),I.extend(r,{
		success:function(e){
			t.success&&t.success(e)
		}
		,error:function(e,s){
			t.error&&t.error(e,s)
		}
	}
	),n.setRequestParam(r),n.submitRequest()
}
,tt.prototype.restore=function(e,t,s){
	var n=k(this.CGI.restore,e.szHttpProtocol,e.szIP,e.iCGIPort,t),r=new et,o={
		type:"PUT",url:n,auth:e.szAuth,success:null,error:null
	};
	I.extend(o,s),I.extend(o,{
		success:function(e){
			s.success&&s.success(e)
		}
		,error:function(e,t){
			s.error&&s.error(e,t)
		}
	}
	),r.setRequestParam(o),r.submitRequest()
}
,tt.prototype.startUpgrade=function(e,t){
	var s=k(this.CGI.startUpgrade.upgrade,e.szHttpProtocol,e.szIP,e.iCGIPort),n=k(this.CGI.startUpgrade.status,e.szHttpProtocol,e.szIP,e.iCGIPort);
	return c.HWP_StartUpgrade(s,n,e.szAuth,t.szFileName)
}
,tt.prototype.set3DZoom=function(e,t,n,r){
	var o=t.iChannelID,i="";
	i=o<=e.iAnalogChannelNum?k(this.CGI.set3DZoom,e.szHttpProtocol,e.szIP,e.iCGIPort,t.iChannelID):t.bShttpIPChannel?k(this.CGI.set3DZoom,e.szHttpProtocol,e.szIP,e.iCGIPort,t.iChannelID-e.oStreamCapa.iIpChanBase+1+e.iAnalogChannelNum):k(this.CGI.set3DZoom,e.szHttpProtocol,e.szIP,e.iCGIPort,t.iChannelID);
	var a=I.loadXML(n),c=parseInt(s.$XML(a).find("StartPoint").eq(0).find("positionX").eq(0).text(),10),u=parseInt(s.$XML(a).find("StartPoint").eq(0).find("positionY").eq(0).text(),10),l=parseInt(s.$XML(a).find("EndPoint").eq(0).find("positionX").eq(0).text(),10),p=parseInt(s.$XML(a).find("EndPoint").eq(0).find("positionY").eq(0).text(),10),d="<?xml version='1.0' encoding='UTF-8'?><position3D><StartPoint><positionX>"+c+"</positionX><positionY>"+(255-u)+"</positionY></StartPoint><EndPoint><positionX>"+l+"</positionX><positionY>"+(255-p)+"</positionY></EndPoint></position3D>",P=new et,h={
		type:"PUT",url:i,data:d,auth:e.szAuth,success:null,error:null
	};
	I.extend(h,r),I.extend(h,{
		success:function(e){
			r.success&&r.success(e)
		}
		,error:function(e,t){
			r.error&&r.error(e,t)
		}
	}
	),P.setRequestParam(h),P.submitRequest()
}
,tt.prototype.getSDKCapa=function(e,t){
	var s=k(this.CGI.SDKCapabilities,e.szHttpProtocol,e.szIP,e.iCGIPort),n=new et,r={
		type:"GET",url:s,auth:e.szAuth,success:null,error:null
	};
	I.extend(r,t),I.extend(r,{
		success:function(e){
			t.success&&t.success(e)
		}
		,error:function(e,s){
			t.error&&t.error(e,s)
		}
	}
	),n.setRequestParam(r),n.submitRequest()
};
var st=function(){
};
st.prototype.CGI={
	login:"%s%s:%s/PSIA/Custom/SelfExt/userCheck",getAudioInfo:"%s%s:%s/PSIA/Custom/SelfExt/TwoWayAudio/channels",getDeviceInfo:"%s%s:%s/PSIA/System/deviceInfo",getAnalogChannelInfo:"%s%s:%s/PSIA/System/Video/inputs/channels",getDigitalChannelInfo:"%s%s:%s/PSIA/Custom/SelfExt/ContentMgmt/DynVideo/inputs/channels/status",getZeroChannelInfo:"%s%s:%s/PSIA/Custom/SelfExt/ContentMgmt/ZeroVideo/channels",getStreamChannels:{
		analog:"%s%s:%s/PSIA/Streaming/channels",digital:"%s%s:%s/PSIA/Custom/SelfExt/ContentMgmt/DynStreaming/channels"
	}
	,getStreamDynChannels:"%s%s:%s/PSIA/Custom/SelfExt/ContentMgmt/DynStreaming/channels",startRealPlay:{
		channels:"%s%s:%s/PSIA/streaming/channels/%s",zeroChannels:"%s%s:%s/PSIA/Custom/SelfExt/ContentMgmt/ZeroStreaming/channels/%s"
	}
	,startVoiceTalk:{
		open:"%s%s:%s/PSIA/Custom/SelfExt/TwoWayAudio/channels/%s/open",close:"%s%s:%s/PSIA/Custom/SelfExt/TwoWayAudio/channels/%s/close",audioData:"%s%s:%s/PSIA/Custom/SelfExt/TwoWayAudio/channels/%s/audioData"
	}
	,ptzControl:"%s%s:%s/PSIA/PTZ/channels/%s/continuous",ptzAutoControl:"%s%s:%s/PSIA/Custom/SelfExt/PTZ/channels/%s/autoptz",setPreset:"%s%s:%s/PSIA/PTZ/channels/%s/presets/%s",goPreset:"%s%s:%s/PSIA/PTZ/channels/%s/presets/%s/goto",ptzFocus:"%s%s:%s/PSIA/System/Video/inputs/channels/%s/focus",ptzIris:"%s%s:%s/PSIA/System/Video/inputs/channels/%s/iris",getNetworkBond:"%s%s:%s/PSIA/Custom/SelfExt/Bond",getNetworkInterface:"%s%s:%s/PSIA/System/Network/interfaces",getUPnPPortStatus:"%s%s:%s/PSIA/Custom/SelfExt/UPnP/ports/status",getPPPoEStatus:"%s%s:%s/PSIA/Custom/SelfExt/PPPoE/1/status",getPortInfo:"%s%s:%s/PSIA/Security/AAA/adminAccesses",recordSearch:"%s%s:%s/PSIA/ContentMgmt/search",startPlayback:"%s%s:%s/PSIA/streaming/tracks/%s?starttime=%s&endtime=%s",startDownloadRecord:"%s%s:%s/PSIA/Custom/SelfExt/ContentMgmt/download",deviceConfig:"%s%s:%s/PSIA/System/configurationData",restart:"%s%s:%s/PSIA/System/reboot",restore:"%s%s:%s/PSIA/System/factoryReset?mode=%s",startUpgrade:{
		upgrade:"%s%s:%s/PSIA/System/updateFirmware",status:"%s%s:%s/PSIA/Custom/SelfExt/upgradeStatus"
	}
	,set3DZoom:"%s%s:%s/PSIA/Custom/SelfExt/PTZ/channels/%s/Set3DZoom"
}
,st.prototype.login=function(e,t,n,r){
	var o=2==r.protocol?"https://":"http://",i=k(this.CGI.login,o,e,t),a=new et,c={
		type:"GET",url:i,auth:n,success:null,error:null
	};
	I.extend(c,r),I.extend(c,{
		success:function(e){
			"200"==s.$XML(e).find("statusValue").eq(0).text()?r.success&&r.success(e):r.error&&r.error(401,e)
		}
		,error:function(e,t){
			r.error&&r.error(e,t)
		}
	}
	),a.setRequestParam(c),a.submitRequest()
}
,st.prototype.getAudioInfo=function(e,t){
	var s=k(this.CGI.getAudioInfo,e.szHttpProtocol,e.szIP,e.iCGIPort),n=new et,r={
		type:"GET",url:s,auth:e.szAuth,success:null,error:null
	};
	I.extend(r,t),I.extend(r,{
		success:function(e){
			t.success&&t.success(e)
		}
		,error:function(e,s){
			t.error&&t.error(e,s)
		}
	}
	),n.setRequestParam(r),n.submitRequest()
}
,st.prototype.getDeviceInfo=function(e,t){
	var n=k(this.CGI.getDeviceInfo,e.szHttpProtocol,e.szIP,e.iCGIPort),r=new et,o={
		type:"GET",url:n,auth:e.szAuth,success:null,error:null
	};
	I.extend(o,t),I.extend(o,{
		success:function(e){
			var n=[];
			n.push("<DeviceInfo>"),n.push("<deviceName>"+I.escape(s.$XML(e).find("deviceName").eq(0).text())+"</deviceName>"),n.push("<deviceID>"+s.$XML(e).find("deviceID").eq(0).text()+"</deviceID>"),n.push("<deviceType>"+s.$XML(e).find("deviceDescription").eq(0).text()+"</deviceType>"),n.push("<model>"+s.$XML(e).find("model").eq(0).text()+"</model>"),n.push("<serialNumber>"+s.$XML(e).find("serialNumber").eq(0).text()+"</serialNumber>"),n.push("<macAddress>"+s.$XML(e).find("macAddress").eq(0).text()+"</macAddress>"),n.push("<firmwareVersion>"+s.$XML(e).find("firmwareVersion").eq(0).text()+"</firmwareVersion>"),n.push("<firmwareReleasedDate>"+s.$XML(e).find("firmwareReleasedDate").eq(0).text()+"</firmwareReleasedDate>"),n.push("<encoderVersion>"+s.$XML(e).find("logicVersion").eq(0).text()+"</encoderVersion>"),n.push("<encoderReleasedDate>"+s.$XML(e).find("logicReleasedDate").eq(0).text()+"</encoderReleasedDate>"),n.push("</DeviceInfo>"),e=I.loadXML(n.join("")),t.success&&t.success(e)
		}
		,error:function(e,s){
			t.error&&t.error(e,s)
		}
	}
	),r.setRequestParam(o),r.submitRequest()
}
,st.prototype.getAnalogChannelInfo=function(e,t){
	var n=k(this.CGI.getAnalogChannelInfo,e.szHttpProtocol,e.szIP,e.iCGIPort),r=new et,o={
		type:"GET",url:n,auth:e.szAuth,success:null,error:null
	};
	I.extend(o,t),I.extend(o,{
		success:function(e){
			var n=[];
			n.push("<VideoInputChannelList>");
			for(var r=s.$XML(e).find("VideoInputChannel",!0),o=0,i=r.length;i>o;o++){
				var a=r[o];
				n.push("<VideoInputChannel>"),n.push("<id>"+s.$XML(a).find("id").eq(0).text()+"</id>"),n.push("<inputPort>"+s.$XML(a).find("inputPort").eq(0).text()+"</inputPort>"),n.push("<name>"+I.escape(s.$XML(a).find("name").eq(0).text())+"</name>"),n.push("<videoFormat>"+s.$XML(a).find("videoFormat").eq(0).text()+"</videoFormat>"),n.push("</VideoInputChannel>")
			}
			n.push("</VideoInputChannelList>"),e=I.loadXML(n.join("")),t.success&&t.success(e)
		}
		,error:function(e,s){
			t.error&&t.error(e,s)
		}
	}
	),r.setRequestParam(o),r.submitRequest()
}
,st.prototype.getDigitalChannelInfo=function(e,t){
	var n=k(this.CGI.getDigitalChannelInfo,e.szHttpProtocol,e.szIP,e.iCGIPort),r=new et,o={
		type:"GET",url:n,auth:e.szAuth,success:null,error:null
	};
	I.extend(o,t),I.extend(o,{
		success:function(e){
			var n=[];
			n.push("<InputProxyChannelStatusList>");
			for(var r=s.$XML(e).find("DynVideoInputChannelStatus",!0),o=0,i=r.length;i>o;o++){
				var a=r[o];
				n.push("<InputProxyChannelStatus>"),n.push("<id>"+s.$XML(a).find("id").eq(0).text()+"</id>"),n.push("<sourceInputPortDescriptor>"),n.push("<proxyProtocol>"+s.$XML(a).find("adminProtocol").eq(0).text()+"</proxyProtocol>"),n.push("<addressingFormatType>"+s.$XML(a).find("addressingFormatType").eq(0).text()+"</addressingFormatType>"),n.push("<ipAddress>"+s.$XML(a).find("ipAddress").eq(0).text()+"</ipAddress>"),n.push("<managePortNo>"+s.$XML(a).find("adminPortNo").eq(0).text()+"</managePortNo>"),n.push("<srcInputPort>"+s.$XML(a).find("srcInputPort").eq(0).text()+"</srcInputPort>"),n.push("<userName>"+I.escape(s.$XML(a).find("userName").eq(0).text())+"</userName>"),n.push("<streamType>"+s.$XML(a).find("streamType").eq(0).text()+"</streamType>"),n.push("<online>"+s.$XML(a).find("online").eq(0).text()+"</online>"),n.push("</sourceInputPortDescriptor>"),n.push("</InputProxyChannelStatus>")
			}
			n.push("</InputProxyChannelStatusList>"),e=I.loadXML(n.join("")),t.success&&t.success(e)
		}
		,error:function(e,s){
			t.error&&t.error(e,s)
		}
	}
	),r.setRequestParam(o),r.submitRequest()
}
,st.prototype.getZeroChannelInfo=function(e,t){
	var s=k(this.CGI.getZeroChannelInfo,e.szHttpProtocol,e.szIP,e.iCGIPort),n=new et,r={
		type:"GET",url:s,auth:e.szAuth,success:null,error:null
	};
	I.extend(r,t),I.extend(r,{
		success:function(e){
			t.success&&t.success(e)
		}
		,error:function(e,s){
			t.error&&t.error(e,s)
		}
	}
	),n.setRequestParam(r),n.submitRequest()
}
,st.prototype.getPPPoEStatus=function(e,t){
	var s=k(this.CGI.getPPPoEStatus,e.szHttpProtocol,e.szIP,e.iCGIPort),n=new et,r={
		type:"GET",url:s,auth:e.szAuth,success:null,error:null
	};
	I.extend(r,t),I.extend(r,{
		success:function(e){
			t.success&&t.success(e)
		}
		,error:function(e,s){
			t.error&&t.error(e,s)
		}
	}
	),n.setRequestParam(r),n.submitRequest()
}
,st.prototype.getUPnPPortStatus=function(e,t){
	var s=k(this.CGI.getUPnPPortStatus,e.szHttpProtocol,e.szIP,e.iCGIPort),n=new et,r={
		type:"GET",url:s,auth:e.szAuth,success:null,error:null
	};
	I.extend(r,t),I.extend(r,{
		success:function(e){
			t.success&&t.success(e)
		}
		,error:function(e,s){
			t.error&&t.error(e,s)
		}
	}
	),n.setRequestParam(r),n.submitRequest()
}
,st.prototype.getNetworkBond=function(e,t){
	var s=k(this.CGI.getNetworkBond,e.szHttpProtocol,e.szIP,e.iCGIPort),n=new et,r={
		type:"GET",url:s,auth:e.szAuth,success:null,error:null
	};
	I.extend(r,t),I.extend(r,{
		success:function(e){
			t.success&&t.success(e)
		}
		,error:function(e,s){
			t.error&&t.error(e,s)
		}
	}
	),n.setRequestParam(r),n.submitRequest()
}
,st.prototype.getNetworkInterface=function(e,t){
	var s=k(this.CGI.getNetworkInterface,e.szHttpProtocol,e.szIP,e.iCGIPort),n=new et,r={
		type:"GET",url:s,auth:e.szAuth,success:null,error:null
	};
	I.extend(r,t),I.extend(r,{
		success:function(e){
			t.success&&t.success(e)
		}
		,error:function(e,s){
			t.error&&t.error(e,s)
		}
	}
	),n.setRequestParam(r),n.submitRequest()
}
,st.prototype.getPortInfo=function(e,t){
	var n=k(this.CGI.getPortInfo,e.szHttpProtocol,e.szIP,e.iCGIPort),r=new et,o={
		type:"GET",url:n,auth:e.szAuth,success:null,error:null
	};
	I.extend(o,t),I.extend(o,{
		success:function(n){
			var r=[];
			r.push("<AdminAccessProtocolList>");
			for(var o=s.$XML(n).find("AdminAccessProtocol",!0),i=0,a=o.length;a>i;i++){{
					o[i]
				}
				r.push("<AdminAccessProtocol>"),r.push("<id>"+s.$XML(n).find("id").eq(0).text()+"</id>"),r.push("<enabled>"+s.$XML(n).find("enabled").eq(0).text()+"</enabled>"),r.push("<protocol>"+s.$XML(n).find("protocol").eq(0).text().toUpperCase()+"</protocol>"),r.push("<portNo>"+s.$XML(n).find("portNo").eq(0).text()+"</portNo>"),r.push("</AdminAccessProtocol>")
			}
			h.getStreamChannels(e,{
				async:!1,success:function(n){
					if(s.$XML(n).find("rtspPortNo",!0).length>0){
						var o=parseInt(s.$XML(n).find("rtspPortNo").eq(0).text(),10);
						r.push("<AdminAccessProtocol>"),r.push("<id>4</id>"),r.push("<enabled>true</enabled>"),r.push("<protocol>RTSP</protocol>"),r.push("<portNo>"+o+"</portNo>"),r.push("</AdminAccessProtocol>"),r.push("</AdminAccessProtocolList>");
						var i=I.loadXML(r.join(""));
						t.success&&t.success(i)
					}
					else h.getStreamDynChannels(e,{
						async:!1,success:function(e){
							if(s.$XML(e).find("rtspPortNo",!0).length>0){
								var n=parseInt(s.$XML(e).find("rtspPortNo").eq(0).text(),10);
								r.push("<AdminAccessProtocol>"),r.push("<id>4</id>"),r.push("<enabled>true</enabled>"),r.push("<protocol>RTSP</protocol>"),r.push("<portNo>"+n+"</portNo>"),r.push("</AdminAccessProtocol>"),r.push("</AdminAccessProtocolList>");
								var o=I.loadXML(r.join(""));
								t.success&&t.success(o)
							}
						}
						,error:function(){
							t.error&&t.error()
						}
					}
					)
				}
				,error:function(){
					t.error&&t.error()
				}
			}
			)
		}
		,error:function(){
			var n=[];
			n.push("<AdminAccessProtocolList>"),h.getStreamChannels(e,{
				async:!1,success:function(r){
					if(s.$XML(r).find("rtspPortNo",!0).length>0){
						var o=parseInt(s.$XML(r).find("rtspPortNo").eq(0).text(),10);
						n.push("<AdminAccessProtocol>"),n.push("<id>4</id>"),n.push("<enabled>true</enabled>"),n.push("<protocol>RTSP</protocol>"),n.push("<portNo>"+o+"</portNo>"),n.push("</AdminAccessProtocol>"),n.push("</AdminAccessProtocolList>");
						var i=I.loadXML(n.join(""));
						t.success&&t.success(i)
					}
					else h.getStreamDynChannels(e,{
						async:!1,success:function(e){
							if(s.$XML(e).find("rtspPortNo",!0).length>0){
								var r=parseInt(s.$XML(e).find("rtspPortNo").eq(0).text(),10);
								n.push("<AdminAccessProtocol>"),n.push("<id>4</id>"),n.push("<enabled>true</enabled>"),n.push("<protocol>RTSP</protocol>"),n.push("<portNo>"+r+"</portNo>"),n.push("</AdminAccessProtocol>"),n.push("</AdminAccessProtocolList>");
								var o=I.loadXML(n.join(""));
								t.success&&t.success(o)
							}
						}
						,error:function(){
							t.error&&t.error()
						}
					}
					)
				}
				,error:function(){
					t.error&&t.error()
				}
			}
			)
		}
	}
	),r.setRequestParam(o),r.submitRequest()
}
,st.prototype.getStreamChannels=function(e,t){
	if(0!=e.iAnalogChannelNum)var s=k(this.CGI.getStreamChannels.analog,e.szHttpProtocol,e.szIP,e.iCGIPort);
	else var s=k(this.CGI.getStreamChannels.digital,e.szHttpProtocol,e.szIP,e.iCGIPort);
	var n=new et,r={
		type:"GET",url:s,auth:e.szAuth,success:null,error:null
	};
	I.extend(r,t),I.extend(r,{
		success:function(e){
			t.success&&t.success(e)
		}
		,error:function(e,s){
			t.error&&t.error(e,s)
		}
	}
	),n.setRequestParam(r),n.submitRequest()
}
,st.prototype.getStreamDynChannels=function(e,t){
	var s=k(this.CGI.getStreamDynChannels,e.szHttpProtocol,e.szIP,e.iCGIPort),n=new et,r={
		type:"GET",url:s,auth:e.szAuth,success:null,error:null
	};
	I.extend(r,t),I.extend(r,{
		success:function(e){
			t.success&&t.success(e)
		}
		,error:function(e,s){
			t.error&&t.error(e,s)
		}
	}
	),n.setRequestParam(r),n.submitRequest()
}
,st.prototype.startRealPlay=function(e,t){
	var s=100*t.iChannelID+t.iStreamType,n="";
	n=t.bZeroChannel?k(t.cgi.zeroChannels,t.urlProtocol,e.szIP,t.iPort,s):k(t.cgi.channels,t.urlProtocol,e.szIP,t.iPort,s);
	var r=c.HWP_Play(n,e.szAuth,t.iWndIndex,"","");
	if(0==r){
		var o=new Q;
		o.iIndex=t.iWndIndex,o.szIP=e.szIP,o.iChannelID=t.iChannelID,o.iPlayStatus=v,p.push(o)
	}
	return r
}
,st.prototype.startVoiceTalk=function(e,t){
	var s=k(this.CGI.startVoiceTalk.open,e.szHttpProtocol,e.szIP,e.iCGIPort,t),n=k(this.CGI.startVoiceTalk.close,e.szHttpProtocol,e.szIP,e.iCGIPort,t),r=k(this.CGI.startVoiceTalk.audioData,e.szHttpProtocol,e.szIP,e.iCGIPort,t),o=c.HWP_StartVoiceTalk(s,n,r,e.szAuth,e.iAudioType);
	return o
}
,st.prototype.ptzAutoControl=function(e,t,s,n){
	var r=s.iChannelID,o="",i="";
	if(n.iPTZSpeed=n.iPTZSpeed<7?15*n.iPTZSpeed:100,t&&(n.iPTZSpeed=0),e.szDeviceType!=X)o=k(this.CGI.ptzAutoControl,e.szHttpProtocol,e.szIP,e.iCGIPort,r),i="<?xml version='1.0' encoding='UTF-8'?><PTZData><pan>"+n.iPTZSpeed+"</pan><tilt>0</tilt></PTZData>";
	else{
		var a=99;
		t&&(a=96),o=k(this.CGI.goPreset,e.szHttpProtocol,e.szIP,e.iCGIPort,r,a)
	}
	var c=new et,u={
		type:"PUT",url:o,async:!1,auth:e.szAuth,data:i,success:null,error:null
	}
	,l=this;
	I.extend(u,n),I.extend(u,{
		success:function(e){
			s.bPTZAuto=!s.bPTZAuto,n.success&&n.success(e)
		}
		,error:function(t,r){
			if(e.szDeviceType!=X){
				o=k(l.CGI.ptzControl,e.szHttpProtocol,e.szIP,e.iCGIPort,s.iChannelID);
				var a=new et,c={
					type:"PUT",url:o,async:!1,auth:e.szAuth,data:i,success:null,error:null
				};
				I.extend(c,n),a.setRequestParam(c),a.submitRequest()
			}
			else n.error&&n.error(t,r)
		}
	}
	),c.setRequestParam(u),c.submitRequest()
}
,st.prototype.ptzControl=function(e,t,s,n){
	var r=(s.iChannelID,"");
	s.bPTZAuto&&this.ptzAutoControl(e,!0,s,{
		iPTZSpeed:0
	}
	),n.iPTZSpeed=t?0:n.iPTZSpeed<7?15*n.iPTZSpeed:100;
	var o=[{
	}
	,{
		pan:0,tilt:n.iPTZSpeed
	}
	,{
		pan:0,tilt:-n.iPTZSpeed
	}
	,{
		pan:-n.iPTZSpeed,tilt:0
	}
	,{
		pan:n.iPTZSpeed,tilt:0
	}
	,{
		pan:-n.iPTZSpeed,tilt:n.iPTZSpeed
	}
	,{
		pan:-n.iPTZSpeed,tilt:-n.iPTZSpeed
	}
	,{
		pan:n.iPTZSpeed,tilt:n.iPTZSpeed
	}
	,{
		pan:n.iPTZSpeed,tilt:-n.iPTZSpeed
	}
	,{
	}
	,{
		speed:n.iPTZSpeed
	}
	,{
		speed:-n.iPTZSpeed
	}
	,{
		speed:n.iPTZSpeed
	}
	,{
		speed:-n.iPTZSpeed
	}
	,{
		speed:n.iPTZSpeed
	}
	,{
		speed:-n.iPTZSpeed
	}
	],i="",a={
	};
	switch(n.iPTZIndex){
		case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:a=this.CGI.ptzControl,i="<?xml version='1.0' encoding='UTF-8'?><PTZData><pan>"+o[n.iPTZIndex].pan+"</pan><tilt>"+o[n.iPTZIndex].tilt+"</tilt></PTZData>";
		break;
		case 10:case 11:a=this.CGI.ptzControl,i="<?xml version='1.0' encoding='UTF-8'?><PTZData><zoom>"+o[n.iPTZIndex].speed+"</zoom></PTZData>";
		break;
		case 12:case 13:a=this.CGI.ptzFocus,i="<?xml version='1.0' encoding='UTF-8'?><FocusData><focus>"+o[n.iPTZIndex].speed+"</focus></FocusData>";
		break;
		case 14:case 15:a=this.CGI.ptzIris,i="<?xml version='1.0' encoding='UTF-8'?><IrisData><iris>"+o[n.iPTZIndex].speed+"</iris></IrisData>";
		break;
		default:return void(W(n.error)&&n.error())
	}
	r=k(a,e.szHttpProtocol,e.szIP,e.iCGIPort,s.iChannelID);
	var c=new et,u={
		type:"PUT",url:r,async:!1,auth:e.szAuth,data:i,success:null,error:null
	};
	I.extend(u,n),I.extend(u,{
		success:function(e){
			n.success&&n.success(e)
		}
		,error:function(e,t){
			n.error&&n.error(e,t)
		}
	}
	),c.setRequestParam(u),c.submitRequest()
}
,st.prototype.setPreset=function(e,t,s){
	var n=(t.iChannelID,""),r="";
	n=k(this.CGI.setPreset,e.szHttpProtocol,e.szIP,e.iCGIPort,t.iChannelID,s.iPresetID),r="<?xml version='1.0' encoding='UTF-8'?>",r+="<PTZPreset>",r+="<id>"+s.iPresetID+"</id>",e.szDeviceType!=X&&(r+="<presetName>Preset"+s.iPresetID+"</presetName>"),r+="</PTZPreset>";
	var o=new et,i={
		type:"PUT",url:n,auth:e.szAuth,data:r,success:null,error:null
	};
	I.extend(i,s),I.extend(i,{
		success:function(e){
			s.success&&s.success(e)
		}
		,error:function(e,t){
			s.error&&s.error(e,t)
		}
	}
	),o.setRequestParam(i),o.submitRequest()
}
,st.prototype.goPreset=function(e,t,s){
	var n=(t.iChannelID,"");
	n=k(this.CGI.goPreset,e.szHttpProtocol,e.szIP,e.iCGIPort,t.iChannelID,s.iPresetID);
	var r=new et,o={
		type:"PUT",url:n,auth:e.szAuth,success:null,error:null
	};
	I.extend(o,s),I.extend(o,{
		success:function(e){
			s.success&&s.success(e)
		}
		,error:function(e,t){
			s.error&&s.error(e,t)
		}
	}
	),r.setRequestParam(o),r.submitRequest()
}
,st.prototype.recordSearch=function(e,n){
	var r="",o="",i=n.iChannelID,a=n.szStartTime.replace(" ","T")+"Z",c=n.szEndTime.replace(" ","T")+"Z";
	r=k(this.CGI.recordSearch,e.szHttpProtocol,e.szIP,e.iCGIPort),o="<?xml version='1.0' encoding='UTF-8'?><CMSearchDescription><searchID>"+new t+"</searchID><trackList><trackID>"+(100*i+1)+"</trackID></trackList><timeSpanList><timeSpan><startTime>"+a+"</startTime><endTime>"+c+"</endTime></timeSpan></timeSpanList><maxResults>40</maxResults><searchResultPostion>"+n.iSearchPos+"</searchResultPostion><metadataList><metadataDescriptor>//metadata.psia.org/VideoMotion</metadataDescriptor></metadataList></CMSearchDescription>";
	var u=new et,l={
		type:"POST",url:r,auth:e.szAuth,data:o,success:null,error:null
	};
	I.extend(l,n),I.extend(l,{
		success:function(e){
			var t=[];
			t.push("<CMSearchResult>"),t.push("<responseStatus>"+s.$XML(e).find("responseStatus").eq(0).text()+"</responseStatus>"),t.push("<responseStatusStrg>"+s.$XML(e).find("responseStatusStrg").eq(0).text()+"</responseStatusStrg>"),t.push("<numOfMatches>"+s.$XML(e).find("numOfMatches").eq(0).text()+"</numOfMatches>"),t.push("<matchList>");
			for(var r=s.$XML(e).find("searchMatchItem",!0),o=0,i=r.length;i>o;o++){
				var a=r[o];
				t.push("<searchMatchItem>"),t.push("<trackID>"+s.$XML(a).find("trackID").eq(0).text()+"</trackID>"),t.push("<startTime>"+s.$XML(a).find("startTime").eq(0).text()+"</startTime>"),t.push("<endTime>"+s.$XML(a).find("endTime").eq(0).text()+"</endTime>"),t.push("<playbackURI>"+I.escape(s.$XML(a).find("playbackURI").eq(0).text())+"</playbackURI>"),t.push("<metadataDescriptor>"+s.$XML(a).find("metadataDescriptor").eq(0).text().split("/")[1]+"</metadataDescriptor>"),t.push("</searchMatchItem>")
			}
			t.push("</matchList>"),t.push("</CMSearchResult>"),e=I.loadXML(t.join("")),n.success&&n.success(e)
		}
		,error:function(e,t){
			n.error&&n.error(e,t)
		}
	}
	),u.setRequestParam(l),u.submitRequest()
}
,st.prototype.startPlayback=function(e,t){
	var s=t.iWndIndex,n=t.szStartTime,r=t.szEndTime,o=k(t.cgi,t.urlProtocol,e.szIP,t.iPort,t.iChannelID,n,r),i=c.HWP_Play(o,e.szAuth,s,n,r);
	if(0==i){
		var a=new Q;
		a.iIndex=s,a.szIP=e.szIP,a.iChannelID=t.iChannelID,a.iPlayStatus=x,p.push(a)
	}
	return i
}
,st.prototype.reversePlayback=function(e,t){
	var s=t.iWndIndex,n=t.szStartTime,r=t.szEndTime,o=k(t.cgi,t.urlProtocol,e.szIP,t.iPort,t.iChannelID,n,r),i=c.HWP_ReversePlay(o,e.szAuth,s,n,r);
	if(0==i){
		var a=new Q;
		a.iIndex=s,a.szIP=e.szIP,a.iChannelID=t.iChannelID,a.iPlayStatus=D,p.push(a)
	}
	return i
}
,st.prototype.startDownloadRecord=function(e,t){
	var s=k(this.CGI.startDownloadRecord,e.szHttpProtocol,e.szIP,e.iCGIPort),n="<?xml version='1.0' encoding='UTF-8'?><downloadRequest><playbackURI> "+I.escape(t.szPlaybackURI)+"</playbackURI></downloadRequest>";
	return c.HWP_StartDownload(s,e.szAuth,t.szFileName,n)
}
,st.prototype.exportDeviceConfig=function(e){
	var t=k(this.CGI.deviceConfig,e.szHttpProtocol,e.szIP,e.iCGIPort);
	return c.HWP_ExportDeviceConfig(t,e.szAuth,"",0)
}
,st.prototype.importDeviceConfig=function(e,t){
	var s=k(this.CGI.deviceConfig,e.szHttpProtocol,e.szIP,e.iCGIPort);
	return c.HWP_ImportDeviceConfig(s,e.szAuth,t.szFileName,0)
}
,st.prototype.restart=function(e,t){
	var s=k(this.CGI.restart,e.szHttpProtocol,e.szIP,e.iCGIPort),n=new et,r={
		type:"PUT",url:s,auth:e.szAuth,success:null,error:null
	};
	I.extend(r,t),I.extend(r,{
		success:function(e){
			t.success&&t.success(e)
		}
		,error:function(e,s){
			t.error&&t.error(e,s)
		}
	}
	),n.setRequestParam(r),n.submitRequest()
}
,st.prototype.restore=function(e,t,s){
	var n=k(this.CGI.restore,e.szHttpProtocol,e.szIP,e.iCGIPort,t),r=new et,o={
		type:"PUT",url:n,auth:e.szAuth,success:null,error:null
	};
	I.extend(o,s),I.extend(o,{
		success:function(e){
			s.success&&s.success(e)
		}
		,error:function(e,t){
			s.error&&s.error(e,t)
		}
	}
	),r.setRequestParam(o),r.submitRequest()
}
,st.prototype.startUpgrade=function(e,t){
	var s=k(this.CGI.startUpgrade.upgrade,e.szHttpProtocol,e.szIP,e.iCGIPort),n=k(this.CGI.startUpgrade.status,e.szHttpProtocol,e.szIP,e.iCGIPort);
	return c.HWP_StartUpgrade(s,n,e.szAuth,t.szFileName)
}
,st.prototype.set3DZoom=function(e,t,s,n){
	var r=k(this.CGI.set3DZoom,e.szHttpProtocol,e.szIP,e.iCGIPort,t.iChannelID),o=new et,i={
		type:"PUT",url:r,data:s,auth:e.szAuth,success:null,error:null
	};
	I.extend(i,n),I.extend(i,{
		success:function(e){
			n.success&&n.success(e)
		}
		,error:function(e,t){
			n.error&&n.error(e,t)
		}
	}
	),o.setRequestParam(i),o.submitRequest()
};
var nt=function(){
};
nt.prototype._alert=function(e){
	a.bDebugMode&&console.log(e)
}
,function(t){
	var s=function(e){
		this.elems=[],this.length=0,this.length=this.elems.push(e)
	};
	s.prototype.find=function(e,t){
		var s=this.elems[this.length-1].getElementsByTagName(e);
		return this.length=this.elems.push(s),t?s:this
	}
	,s.prototype.eq=function(e,t){
		var s=this.elems[this.length-1].length,n=null;
		return s>0&&s>e&&(n=this.elems[this.length-1][e]),this.length=this.elems.push(n),t?n:this
	}
	,s.prototype.text=function(t){
		return this.elems[this.length-1]?t?void(e.DOMParser?this.elems[this.length-1].textContent=t:this.elems[this.length-1].text=t):e.DOMParser?this.elems[this.length-1].textContent:this.elems[this.length-1].text:""
	}
	,s.prototype.attr=function(e){
		if(this.elems[this.length-1]){
			var t=this.elems[this.length-1].attributes.getNamedItem(e);
			return t?t.value:""
		}
	}
	,t.$XML=function(e){
		return new s(e)
	}
}
(this);
var rt=function(){
};
rt.prototype.extend=function(){
	for(var e,t=arguments[0]||{
	}
	,s=1,n=arguments.length;
	n>s;
	s++)if(null!=(e=arguments[s]))for(var r in e){
		var o=(t[r],e[r]);
		t!==o&&("object"==typeof o?t[r]=this.extend({
		}
		,o):void 0!==o&&(t[r]=o))
	}
	return t
}
,rt.prototype.browser=function(){
	var e=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,s=/(msie) ([\w.]+)/,n=/(trident.*rv:)([\w.]+)/,r=/(mozilla)(?:.*? rv:([\w.]+))?/,o=navigator.userAgent.toLowerCase(),i=e.exec(o)||t.exec(o)||s.exec(o)||n.exec(o)||o.indexOf("compatible")<0&&r.exec(o)||["unknow","0"];
	i.length>0&&i[1].indexOf("trident")>-1&&(i[1]="msie"),"webkit"==i[1]&&(i[1]=o.indexOf("chrome")>-1?"chrome":"safari");
	var a={
	};
	return a[i[1]]=!0,a.version=i[2],a
}
,rt.prototype.loadXML=function(t){
	if(null==t||""==t)return null;
	var s=null;
	if(e.DOMParser){
		var n=new DOMParser;
		s=n.parseFromString(t,"text/xml")
	}
	else s=new ActiveXObject("Microsoft.XMLDOM"),s.async=!1,s.loadXML(t);
	return s
}
,rt.prototype.toXMLStr=function(e){
	var t="";
	try{
		var s=new XMLSerializer;
		t=s.serializeToString(e)
	}
	catch(n){
		try{
			t=e.xml
		}
		catch(n){
			return""
		}
	}
	return-1==t.indexOf("<?xml")&&(t="<?xml version='1.0' encoding='utf-8'?>"+t),t
}
,rt.prototype.escape=function(e){
	return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")
}
,rt.prototype.dateFormat=function(e,t){
	var s={
		"M+":e.getMonth()+1,"d+":e.getDate(),"h+":e.getHours(),"m+":e.getMinutes(),"s+":e.getSeconds(),"q+":Math.floor((e.getMonth()+3)/3),S:e.getMilliseconds()
	};
	/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(e.getFullYear()+"").substr(4-RegExp.$1.length)));
	for(var n in s)new RegExp("("+n+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?s[n]:("00"+s[n]).substr((""+s[n]).length)));return t
}
,rt.prototype.Base64={
	_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(e){
		var t,s,n,r,o,i,a,c="",u=0;
		for(e=rt.prototype.Base64._utf8_encode(e);u<e.length;)t=e.charCodeAt(u++),s=e.charCodeAt(u++),n=e.charCodeAt(u++),r=t>>2,o=(3&t)<<4|s>>4,i=(15&s)<<2|n>>6,a=63&n,isNaN(s)?i=a=64:isNaN(n)&&(a=64),c=c+this._keyStr.charAt(r)+this._keyStr.charAt(o)+this._keyStr.charAt(i)+this._keyStr.charAt(a);
		return c
	}
	,decode:function(e){
		var t,s,n,r,o,i,a,c="",u=0;
		for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");u<e.length;)r=this._keyStr.indexOf(e.charAt(u++)),o=this._keyStr.indexOf(e.charAt(u++)),i=this._keyStr.indexOf(e.charAt(u++)),a=this._keyStr.indexOf(e.charAt(u++)),t=r<<2|o>>4,s=(15&o)<<4|i>>2,n=(3&i)<<6|a,c+=String.fromCharCode(t),64!=i&&(c+=String.fromCharCode(s)),64!=a&&(c+=String.fromCharCode(n));
		return c=rt.prototype.Base64._utf8_decode(c)
	}
	,_utf8_encode:function(e){
		e=e.replace(/\r\n/g,"\n");
		for(var t="",s=0;s<e.length;s++){
			var n=e.charCodeAt(s);
			128>n?t+=String.fromCharCode(n):n>127&&2048>n?(t+=String.fromCharCode(n>>6|192),t+=String.fromCharCode(63&n|128)):(t+=String.fromCharCode(n>>12|224),t+=String.fromCharCode(n>>6&63|128),t+=String.fromCharCode(63&n|128))
		}
		return t
	}
	,_utf8_decode:function(e){
		for(var t="",s=0,n=c1=c2=0;s<e.length;)n=e.charCodeAt(s),128>n?(t+=String.fromCharCode(n),s++):n>191&&224>n?(c2=e.charCodeAt(s+1),t+=String.fromCharCode((31&n)<<6|63&c2),s+=2):(c2=e.charCodeAt(s+1),c3=e.charCodeAt(s+2),t+=String.fromCharCode((15&n)<<12|(63&c2)<<6|63&c3),s+=3);
		return t
	}
}
,t.prototype.valueOf=function(){
	return this.id
}
,t.prototype.toString=function(){
	return this.id
}
,t.prototype.createUUID=function(){
	var e=new Date(1582,10,15,0,0,0,0),s=new Date,n=s.getTime()-e.getTime(),r="-",o=t.getIntegerBits(n,0,31),i=t.getIntegerBits(n,32,47),a=t.getIntegerBits(n,48,59)+"1",c=t.getIntegerBits(t.rand(4095),0,7),u=t.getIntegerBits(t.rand(4095),0,7),l=t.getIntegerBits(t.rand(8191),0,7)+t.getIntegerBits(t.rand(8191),8,15)+t.getIntegerBits(t.rand(8191),0,7)+t.getIntegerBits(t.rand(8191),8,15)+t.getIntegerBits(t.rand(8191),0,15);
	return o+r+i+r+a+r+c+u+r+l
}
,t.getIntegerBits=function(e,s,n){
	var r=t.returnBase(e,16),o=new Array,i="",a=0;
	for(a=0;a<r.length;a++)o.push(r.substring(a,a+1));
	for(a=Math.floor(s/4);a<=Math.floor(n/4);a++)i+=o[a]&&""!=o[a]?o[a]:"0";
	return i
}
,t.returnBase=function(e,t){
	var s=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"];
	if(t>e)var n=s[e];
	else{
		var r=""+Math.floor(e/t),o=e-r*t;
		if(r>=t)var n=this.returnBase(r,t)+s[o];
		else var n=s[r]+s[o]
	}
	return n
}
,t.rand=function(e){
	return Math.floor(Math.random()*e)
}
,P=new tt,h=new st,d=new nt,I=new rt;
var ot=I.dateFormat(new Date,"yyyyMMddhhmmss");
if(o="webVideoCtrl"+ot,i="webVideoCtrl"+ot,"object"!=typeof e.attachEvent&&I.browser().msie){
	var it="<script for="+o+" event='GetSelectWndInfo(SelectWndInfo)'>GetSelectWndInfo(SelectWndInfo);</script>";
	it+="<script for="+o+" event='ZoomInfoCallback(szZoomInfo)'>ZoomInfoCallback(szZoomInfo);</script>",it+="<script for="+o+" event='GetHttpInfo(lID, lpInfo, lReverse)'>GetHttpInfo(lID, lpInfo, lReverse);</script>",it+="<script for="+o+" event='PluginEventHandler(iEventType, iParam1, iParam2)'>PluginEventHandler(iEventType, iParam1, iParam2);</script>",document.write(it)
}
return this
}
(),s=e.WebVideoCtrl=t;
s.version="1.0.5"
}
}
(this);
